Die SQL-Funktionen Lead und Lag greifen auf Zeilen relativ zur aktuellen entsprechend der Over-Klausel zu.
SELECT n
, LEAD(n) OVER(ORDER BY n)
, LAG (n) OVER(ORDER BY n)
FROM (VALUES (0), (1), (2)) t(n)
n
LEAD(n) OVER(ORDER BY n)
LAG(n) OVER(ORDER BY n)
0
1
1
2
0
2
1
Varianten
Lead und lag haben zwei optionale Argumente: Die Distanz in Anzahl der Zeilen (Voreinstellung: 1) und einen Default-Wert, der geliefert wird wenn die entsprechende Zeile nicht existiert.
T615, „LEAD and LAG functions“ ist als optionale Funktion ISO/IEC 9075-2:2023 definiert. Diese Funktion erschien erstmals in SQL:2011.
20 Jahre SQL-Evolution kann man nicht an einem Tag nachholen. Abonniere den Newsletter via E-Mail, Bluesky oder RSS, um sukzessive aufzuholen und modern-sql.com am Radar zu behalten.
Über den Autor
Markus Winand gibt auf modern-sql.com Einblick in SQL und zeigt, wie es von verschiedenen Systemen unterstützt wird. Zuvor machte er use-the-index-luke.com, was er noch immer wartet. Markus kann als Trainer, Sprecher und Berater auf winand.at engagiert werden.