Zum Hauptinhalt springen
Übersetzte Seite

Diese Seite wurde mit KI-Unterstützung aus dem Englischen übersetzt. Bei Abweichungen ist die englische Version maßgeblich.

LAST_VALUE

Gibt den Wert des Ausdrucks zurück, der für die letzte Zeile im Fensterrahmen ausgewertet wird.

Diese eingebaute Fensterfunktion berechnet den Fensterrahmen für jede Zeile auf dieselbe Weise wie eine Aggregat-Fensterfunktion. Sie gibt für jede Zeile den Wert des Ausdrucks zurück, der für die letzte Zeile im Fensterrahmen ausgewertet wird.

Siehe auch: [SELECT] [FIRST_VALUE] [NTH_VALUE]


Syntax​

SELECT LAST_VALUE(expr) OVER (
[PARTITION BY column]
ORDER BY column
[ROWS BETWEEN frame_start AND frame_end]
) FROM <multipartIdentifier>;

Argumente​

expr Der Ausdruck, der für die letzte Zeile im Fensterrahmen ausgewertet wird.

PARTITION BY column Optional. Teilt die Ergebnismenge in Partitionen auf. Die Funktion LAST_VALUE wird innerhalb jeder Partition separat angewendet.

ORDER BY column Legt die Reihenfolge fest, in der die Zeilen verarbeitet werden.

ROWS BETWEEN frame_start AND frame_end Optional. Definiert den Fensterrahmen. Gängige Optionen sind:

  • ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW (Standard)
  • ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING

Rückgabewert(e)​

Gibt den Wert des Ausdrucks zurück, der für die letzte Zeile im Fensterrahmen ausgewertet wird.


Beispiele​

Das neueste Release als Kontext ermitteln​

-- Find first and latest release for context
SELECT
tag_name,
name,
published_at,
FIRST_VALUE(tag_name) OVER (
ORDER BY published_at
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) as first_release,
LAST_VALUE(tag_name) OVER (
ORDER BY published_at
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) as latest_release
FROM github.repos.releases
WHERE owner = 'stackql'
AND repo = 'stackql';
tipp

Standardmäßig erstreckt sich der Fensterrahmen vom Anfang der Partition bis zur aktuellen Zeile, sodass LAST_VALUE den Wert der aktuellen Zeile zurückgeben würde. Um den tatsächlich letzten Wert der Partition zu erhalten, verwenden Sie ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING.

Weitere Informationen finden Sie unter https://sqlite.org/windowfunctions.html#built-in_window_functions.