In den folgenden Abschnitten werden die von BigQuery unterstützten Nummerierungsfunktionen beschrieben. Nummerierungsfunktionen sind eine Teilmenge der Analysefunktionen. Wie Analysefunktionen funktionieren, erfahren Sie unter Konzepte für Analysefunktionen. Eine Beschreibung der Funktionsweise von Nummerierungsfunktionen finden Sie im Abschnitt zu den Konzepten für Nummerierungsfunktionen.
Anforderungen der OVER
-Klausel:
PARTITION BY
: OptionalORDER BY
: Erforderlich, außer fürROW_NUMBER()
.window_frame_clause
: Nicht zulässig.
RANK
Beschreibung
Gibt den ordinalen (1-basierten) Rang jeder Zeile innerhalb der geordneten Partition zurück.
Alle Peer-Zeilen erhalten den gleichen Rangwert. Die nächste Zeile oder der nächste Satz von Peer-Zeilen erhält einen Rangwert, der um die Anzahl der Peers mit dem vorherigen Rangwert ansteigt, anstelle von DENSE_RANK
, der immer um 1 erhöht wird.
Unterstützte Argumenttypen
INT64
DENSE_RANK
Beschreibung
Gibt den ordinalen (1-basierten) Rang jeder Zeile innerhalb der Fensterpartition zurück. Alle Peer-Zeilen erhalten den gleichen Rangwert und der nachfolgende Rangwert wird um eins erhöht.
Unterstützte Argumenttypen
INT64
PERCENT_RANK
Beschreibung
Gibt den Perzentilrang einer Zeile zurück, der als (RK-1)/(NR-1) definiert ist, wobei RK der RANK
der Zeile und NR die Anzahl der Zeilen in der Partition ist.
Gibt 0 zurück, wenn NR = 1 ist.
Unterstützte Argumenttypen
FLOAT64
CUME_DIST
Beschreibung
Gibt den relativen Rang einer Zeile zurück, der als NP/NR definiert ist. NP ist definiert als die Anzahl der Zeilen, die entweder der aktuellen Zeile vorangehen oder die Peer-Zeilen der aktuellen Zeile sind. NR ist die Anzahl der Zeilen in der Partition.
Unterstützte Argumenttypen
FLOAT64
NTILE
NTILE(constant_integer_expression)
Beschreibung
Diese Funktion teilt die Zeilen anhand der Zeilenreihenfolge in constant_integer_expression
-Buckets auf und gibt die 1-basierte Bucket-Nummer zurück, die jeder Zeile zugewiesen ist. Die Anzahl der Zeilen in den Buckets kann sich höchstens um 1 unterscheiden.
Die Restwerte (der Rest der Anzahl der Zeilen, geteilt durch Buckets) werden auf jeden Bucket, beginnend mit Bucket 1, verteilt. Wird constant_integer_expression
als NULL, 0 oder negativ ausgewertet, wird ein Fehler zurückgegeben.
Unterstützte Argumenttypen
INT64
ROW_NUMBER
Beschreibung
Erfordert keine ORDER BY
-Klausel. Gibt die sequenzielle Zeilenordinale (1-basiert) jeder Zeile für jede geordnete Partition zurück. Wenn die ORDER BY
-Klausel nicht angegeben wird, ist das Ergebnis nicht deterministisch.
Unterstützte Argumenttypen
INT64