dense_rank funkcja okna klasyfikacji

Dotyczy:sprawdź oznaczone jako tak Zaznaczone pole wyboru SQL usługi Databricks oznaczone jako tak Databricks Runtime

Zwraca rangę wartości w porównaniu ze wszystkimi wartościami w partycji.

Składni

dense_rank()

Argumenty

Ta funkcja nie przyjmuje żadnych argumentów.

Zwraca

Całkowitą.

Klauzula OVER funkcji okna musi zawierać klauzulę ORDER BY. W przeciwieństwie do funkcji klasyfikacji funkcji, funkcja klasyfikacji okna, dense_rank nie spowoduje luk w sekwencji klasyfikacji. W przeciwieństwie do funkcji okna klasyfikacji row_number, dense_rank nie przerywa więzi. Jeśli kolejność nie jest unikatowa, duplikaty współdzielą tę samą pozycję względną później.

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