Last_Value(…) Ignore Nulls


BigQueryDb2 (LUW)DerbyH2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite20092011201320152017201920212023⊘ 3.5.7 - 3.50.0✓ 2022+⊘ 2008R2 - 2019⊘ 8.3 - 17✓ 11gR2 - 23.9⊘ 11gR1⊘ 5.0 - 9.4.0⊘ 5.1 - 12.0.2✓ 1.4.198 - 2.3.232⊘ 1.4.191 - 1.4.197⊘ 10.15.1.3 - 10.17.1.0⊘ 9.7 - 12.1.2a⊘ 2.0b
  1. Nicht-Standard Alternative: last_value(<expr>, 'ignore nulls')
  2. Nicht-Standard Alternative: 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 …

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

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.

Ü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