Diese Seite wurde mit KI-Unterstützung aus dem Englischen übersetzt. Bei Abweichungen ist die englische Version maßgeblich.
NTH_VALUE
Gibt den Wert des Ausdrucks zurück, der für die N-te Zeile im Fensterrahmen ausgewertet wird.
Diese eingebaute Fensterfunktion berechnet den Fensterrahmen für jede Zeile auf dieselbe Weise wie eine Aggregat-Fensterfunktion. Sie gibt den Wert des Ausdrucks zurück, der für die Zeile N des Fensterrahmens ausgewertet wird. Die Zeilen werden innerhalb des Fensterrahmens beginnend bei 1 nummeriert, in der Reihenfolge, die durch die ORDER BY-Klausel festgelegt ist, falls vorhanden, andernfalls in beliebiger Reihenfolge. Gibt es keine N-te Zeile in der Partition, wird NULL zurückgegeben.
Siehe auch:
[SELECT] [FIRST_VALUE] [LAST_VALUE]
Syntax
SELECT NTH_VALUE(expr, N) OVER (
[PARTITION BY column]
ORDER BY column
[ROWS BETWEEN frame_start AND frame_end]
) FROM <multipartIdentifier>;
Argumente
expr Der Ausdruck, der für die N-te Zeile im Fensterrahmen ausgewertet wird.
N Eine positive Ganzzahl, die angibt, welche Zeilennummer abgerufen wird (Zählung beginnt bei 1).
PARTITION BY column
Optional. Teilt die Ergebnismenge in Partitionen auf. Die Funktion NTH_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.
Rückgabewert(e)
Gibt den Wert des Ausdrucks zurück, der für die N-te Zeile im Fensterrahmen ausgewertet wird, oder NULL, wenn die N-te Zeile nicht existiert.
Beispiele
Den zweitplatzierten Mitwirkenden ermitteln
-- Get the top 3 contributors by name for comparison
SELECT
login,
contributions,
NTH_VALUE(login, 1) OVER (ORDER BY contributions DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) as top_contributor,
NTH_VALUE(login, 2) OVER (ORDER BY contributions DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) as second_contributor,
NTH_VALUE(login, 3) OVER (ORDER BY contributions DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) as third_contributor
FROM github.repos.contributors
WHERE owner = 'stackql'
AND repo = 'stackql';
Weitere Informationen finden Sie unter https://sqlite.org/windowfunctions.html#built-in_window_functions.