Udostępnij za pośrednictwem


row_number funkcja okna klasyfikacji

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Przypisuje unikatową, sekwencyjną liczbę do każdego wiersza, zaczynając od jednego, zgodnie z kolejnością wierszy w partycji okna.

Składnia

row_number()

Argumenty

Funkcja nie przyjmuje żadnych argumentów.

Zwraca

An INTEGER.

Klauzula OVER funkcji window musi zawierać klauzulę ORDER BY. W przeciwieństwie do rank i dense_rank, row_number łamie więzi.

Jeśli kolejność nie jest unikatowa, wynik nie jest deterministyczny.

Przykłady

> 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