Aan de slagGa gratis aan de slag

Waarden uit de vorige rij opvragen

Door de functie LAG() in een query te gebruiken, kun je rijen vóór de huidige rij benaderen.

Dit is de syntax: LAG(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)

In deze oefening gebruik je deze functie in je query. Je analyseert de beoordelingen van chocoladerepen die zijn geproduceerd door een bedrijf genaamd "Fruition".

Dit bedrijf maakt chocolade met cacao uit verschillende delen van de wereld.

Je wilt nagaan of er een verband is tussen het cacaopercentage en de ontvangen score, voor repen die uit dezelfde locatie komen. Hiervoor vergelijk je het cacaopercentage van elke reep met het percentage van de reep die de vorige beoordeling ontving. Vervolgens bereken je het verschil tussen deze waarden en interpreteer je de resultaten.

Deze oefening maakt deel uit van de cursus

Functies voor het bewerken van data in SQL Server

Cursus bekijken

Oefeninstructies

  • Maak een nieuwe kolom die het cacaopercentage toont van de chocoladereep die een lagere score kreeg, met cacao uit dezelfde locatie (broad_bean_origin is hetzelfde).
  • Maak een nieuwe kolom met het verschil tussen het cacaopercentage van de huidige reep en het percentage van de vorige reep.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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;
Code bewerken en uitvoeren