Diese Seite wurde mit KI-Unterstützung aus dem Englischen übersetzt. Bei Abweichungen ist die englische Version maßgeblich.
ROW_NUMBER
Gibt die Nummer der Zeile innerhalb der aktuellen Partition zurück. Die Zeilen werden beginnend bei 1 in der Reihenfolge nummeriert, die durch die ORDER BY-Klausel in der Fensterdefinition festgelegt ist, andernfalls in beliebiger Reihenfolge.
Siehe auch:
[SELECT] [RANK] [DENSE_RANK]
Syntax
SELECT ROW_NUMBER() OVER ([PARTITION BY column] ORDER BY column [ASC|DESC])
FROM <multipartIdentifier>;
Argumente
PARTITION BY column
Optional. Teilt die Ergebnismenge in Partitionen auf. Die Funktion ROW_NUMBER wird auf jede Partition separat angewendet und setzt die Zeilennummer für jede Partition zurück.
ORDER BY column Legt die Reihenfolge fest, in der die Zeilennummern vergeben werden. Für aussagekräftige Ergebnisse erforderlich.
Rückgabewert(e)
Gibt eine Ganzzahl zurück, die die fortlaufende Zeilennummer innerhalb der Partition darstellt, beginnend bei 1.
Beispiele
Rang der Mitwirkenden innerhalb eines Repositorys ermitteln
-- Rank contributors within a repository
SELECT
login,
contributions,
ROW_NUMBER() OVER (ORDER BY contributions DESC) as contribution_rank
FROM github.repos.contributors
WHERE owner = 'stackql'
AND repo = 'stackql';
Reihenfolge der Issues im Zeitverlauf verfolgen
-- Track issue growth over time
SELECT
number,
title,
state,
created_at,
ROW_NUMBER() OVER (ORDER BY created_at) as issue_sequence
FROM github.issues.issues
WHERE owner = 'stackql'
AND repo = 'stackql'
ORDER BY created_at;
ROW_NUMBER mit RANK und DENSE_RANK vergleichen
-- Compare RANK vs DENSE_RANK vs ROW_NUMBER for contributors
SELECT
login,
contributions,
RANK() OVER (ORDER BY contributions DESC) as rank,
DENSE_RANK() OVER (ORDER BY contributions DESC) as dense_rank,
ROW_NUMBER() OVER (ORDER BY contributions DESC) as row_num
FROM github.repos.contributors
WHERE owner = 'stackql'
AND repo = 'stackql';
Weitere Informationen finden Sie unter https://sqlite.org/windowfunctions.html#built-in_window_functions.