ÎncepețiÎncepe gratuit

Accesarea valorilor din rândul anterior

Folosind funcția LAG() într-o interogare, poți accesa rânduri anterioare celui curent.

Aceasta este sintaxa: LAG(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)

În acest exercițiu, vei folosi această funcție în interogarea ta. Vei analiza ratingurile batoanelor de ciocolată produse de o companie numită „Fruition".

Această companie produce ciocolată cu cacao provenită din diferite zone ale lumii.

Vrei să verifici dacă există o corelație între procentul de cacao și scorul obținut, pentru batoanele care provin din aceeași locație. În acest scop, vei compara procentul de cacao al fiecărui baton cu procentul batonului care a primit ratingul anterior. Apoi, vei calcula diferența dintre aceste valori și vei interpreta rezultatele.

Acest exercițiu face parte din cursul

Funcții pentru manipularea datelor în SQL Server

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează o nouă coloană care să afișeze procentul de cacao al batonului de ciocolată ce a primit un scor mai mic, cu cacao provenită din aceeași locație (același broad_bean_origin).
  • Creează o nouă coloană cu diferența dintre procentul de cacao al batonului curent și procentul batonului anterior.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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;
Editează și rulează codul