Diese Seite wurde mit KI-Unterstützung aus dem Englischen übersetzt. Bei Abweichungen ist die englische Version maßgeblich.
FIRST_VALUE
Gibt den Wert des Ausdrucks zurück, der für die erste 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 erste Zeile im Fensterrahmen ausgewertet wird.
Siehe auch:
[SELECT] [LAST_VALUE] [NTH_VALUE]
Syntax
SELECT FIRST_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 erste Zeile im Fensterrahmen ausgewertet wird.
PARTITION BY column
Optional. Teilt die Ergebnismenge in Partitionen auf. Die Funktion FIRST_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 erste Zeile im Fensterrahmen ausgewertet wird.
Beispiele
Das erste 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';
Standardmäßig erstreckt sich der Fensterrahmen vom Anfang der Partition bis zur aktuellen Zeile. Um alle Zeilen der Partition einzubeziehen, verwenden Sie ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING.
Weitere Informationen finden Sie unter https://sqlite.org/windowfunctions.html#built-in_window_functions.