last_value(<expr>, 'ignore nulls')
last_value(<expr> ignore nulls)
Die Fensterfunktion Last_Value(…)
mit Ignore Nulls
evaluiert den Ausdruck in den Klammern für die durch die Over
-Klausel festgelegten Zeilen in umgekehrter Reihenfolge und liefert den ersten Nicht-Null-Wert.
SELECT LAST_VALUE(<expr>) IGNORE NULLS OVER (ORDER BY …)
FROM …
Ohne explizite Rahmung (between
) wird die Default-Rahmung angewendet:
RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
Das bedeutet, dass die Funktion Last_Value()
nicht über zur aktuellen Zeile die gleich platzierten (range…current row
) hinaus sehen kann. Um darüber hinaus zu sehen, muss man den Rahmen explizit öffnen:
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
Last_Value() Ignore Nulls
ist als Teil der optionalen Funktion T617, „FIRST_VALUE and LAST_VALUE functions“ in ISO/IEC 9075-2:2023.
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.
Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how