rank
funkcja okna klasyfikacji
Dotyczy: Databricks SQL Databricks Runtime
Zwraca rangę wartości w porównaniu ze wszystkimi wartościami w partycji.
Składnia
rank()
Argumenty
Ta funkcja nie przyjmuje żadnych argumentów.
Zwraca
An INTEGER
.
Klauzula OVER
funkcji window musi zawierać klauzulę ORDER BY.
W przeciwieństwie do funkcji dense_rank
ranga spowoduje powstanie luk w sekwencji klasyfikacji.
W przeciwieństwie do row_number
klasy ranga nie przerywa więzi.
Jeśli kolejność nie jest unikatowa, duplikaty mają taką samą względną pozycję wcześniejszą.
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