last_value(…, 'ignore nulls')


BigQueryDb2 (LUW)DerbyH2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite20092011201320152017201920212023⊘ 3.5.7 - 3.50.0⊘ 2008R2 - 2022⊘ 8.3 - 17⊘ 11gR1 - 23.9⊘ 5.0 - 9.4.0⊘ 5.1 - 12.0.2⊘ 1.4.191 - 2.3.232⊘ 10.15.1.3 - 10.17.1.0✓ 9.7 - 12.1.2⊘ 2.0

Die Fensterfunktion Last_Value(…) mit dem Wert 'ignore nulls' als zweites Argument ist nicht Standard SQL. Sie 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 …

Default-Rahmung findet Anwendung

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

Normative Referenzen

'Ignore nulls' als zweites Argument von Last_Value() ist nicht im internationalen SQL-Standard ISO/IEC 9075-2:2023. In Standard-SQL folgt Ignore Nulls nach der Klammer als Schlüsselwort: last_value() ignore nulls.

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

Foto von Markus Winand

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.

Sein Buch kaufen

Titelbild von „SQL Performance Explained“: Eichhörnchen läuft durchs Grass

Die Essenz: SQL-Tuning auf 200 Seiten

Jetzt Kaufen
(Taschenbuch und/oder PDF)

Sein Training

Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how

Erfahren Sie mehr»

Neuigkeiten Abonnieren

Markus Winands MailinglistenMarkus Winands RSS-FeedMarkus Winand auf LinkedInMarkus Winand auf XINGMarkus Winand auf TwitterMarkus Winand auf Bluesky
Copyright 2015-2025 Markus Winand. Alle Rechte vorbehalten.
Impressum | Kontakt | KEINE GEWÄHR | Handelsmarken | Datenschutz und DSGVO