IniziaInizia gratis

Accedere ai valori dalla riga precedente

Usando la funzione LAG() in una query, puoi accedere alle righe precedenti a quella corrente.

Questa è la sintassi: LAG(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)

In questo esercizio userai questa funzione nella tua query. Analizzerai i punteggi delle barrette di cioccolato prodotte da un'azienda chiamata "Fruition".

Questa azienda produce cioccolato con cacao proveniente da diverse aree del mondo.

Vuoi verificare se esiste una correlazione tra la percentuale di cacao e il punteggio ricevuto, per le barrette provenienti dalla stessa località. Per farlo, confronterai la percentuale di cacao di ogni barretta con la percentuale della barretta che ha ricevuto il punteggio immediatamente precedente. Poi calcolerai la differenza tra questi valori e interpreterai i risultati.

Questo esercizio fa parte del corso

Funzioni per manipolare i dati in SQL Server

Visualizza il corso

Istruzioni dell'esercizio

  • Crea una nuova colonna che mostri la percentuale di cacao della barretta di cioccolato che ha ricevuto un punteggio più basso, con cacao proveniente dalla stessa località (broad_bean_origin è lo stesso).
  • Crea una nuova colonna con la differenza tra la percentuale di cacao della barretta corrente e la percentuale della barretta precedente.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

SELECT 
	broad_bean_origin AS bean_origin,
	rating,
	cocoa_percent,
    -- Retrieve the cocoa % of the bar with the previous rating
	___(___) 
		OVER(___ broad_bean_origin ORDER BY ___) AS percent_lower_rating
FROM ratings
WHERE company = 'Fruition'
ORDER BY broad_bean_origin, rating ASC;
Modifica ed esegui il codice