LoslegenKostenlos loslegen

Werte aus der vorherigen Zeile abrufen

Mit der Funktion LAG() in einer Abfrage kannst du auf Zeilen zugreifen, die vor der aktuellen liegen.

Die Syntax lautet: LAG(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)

In dieser Übung verwendest du diese Funktion in deiner Abfrage. Du analysierst die Bewertungen der Schokoladentafeln, die von einer Firma namens "Fruition" produziert werden.

Diese Firma stellt Schokolade mit Kakao aus verschiedenen Regionen der Welt her.

Du möchtest prüfen, ob es bei Tafeln aus demselben Herkunftsort einen Zusammenhang zwischen dem Kakaoanteil und der erhaltenen Bewertung gibt. Dafür vergleichst du den Kakaoanteil jeder Tafel mit dem Anteil der Tafel, die die vorherige Bewertung erhalten hat. Anschließend berechnest du die Differenz zwischen diesen Werten und interpretierst die Ergebnisse.

Diese Übung ist Teil des Kurses

Funktionen zur Datenmanipulation in SQL Server

Kurs anzeigen

Anleitung zur Übung

  • Erstelle eine neue Spalte, die den Kakaoanteil der Schokoladentafel zeigt, die eine niedrigere Bewertung erhalten hat und deren Kakao aus demselben Herkunftsort kommt (broad_bean_origin ist gleich).
  • Erstelle eine neue Spalte mit der Differenz zwischen dem aktuellen Kakaoanteil der Tafel und dem Anteil der vorherigen Tafel.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 bearbeiten und ausführen