Freigeben über


row_number-Rangfolgefensterfunktion

Gilt für: durch Häkchen mit „Ja“ markiert Databricks SQL Häkchen gesetzt ja Databricks Runtime

Weist jeder Zeile eine eindeutige, fortlaufende Nummer entsprechend der Reihenfolge der Zeilen in der Fensterpartition zu, beginnend mit eins.

Syntax

row_number()

Argumente

Die Funktion nimmt keine Argumente an.

Gibt zurück

Ein INTEGER-Element.

Die OVER-Klausel der Fensterfunktion muss eine ORDER BY-Klausel enthalten. Im Gegensatz zu rank und dense_rank unterbricht row_number die Bindungen.

Wenn die Reihenfolge nicht eindeutig ist, ist das Ergebnis nicht deterministisch.

Beispiele

> SELECT a,
         b,
         dense_rank() OVER(PARTITION BY a ORDER BY b),
         rank() OVER(PARTITION BY a ORDER BY b),
         row_number() OVER(PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
 A1 1   1   1   1
 A1 1   1   1   2
 A1 2   2   3   3
 A2 3   1   1   1