Nummerierungsfunktionen in Standard-SQL

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: Optional
  • ORDER BY: Erforderlich, außer für ROW_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