dense_rankFonction de fenêtre de classement

S’applique à :case marquée oui Databricks SQL case marquée oui Databricks Runtime

Retourne le rang d’une valeur par rapport à toutes les valeurs dans la partition.

Syntaxe

dense_rank()

Arguments

Cette fonction ne prend pas d'arguments.

Retours

Un ENTIER.

La clause OVER de la fonction de fenêtre doit inclure une clause ORDER BY. Contrairement à la fonction de fenêtre de classement rank, dense_rank ne produit pas d’écarts dans la séquence de classement. Contrairement à la fonction de fenêtre de classement row_number, dense_rank n’interrompt pas les liens. Si l’ordre n’est pas unique, les doublons partagent la même position relative antérieure.

Exemples

> 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