rank
Fonction de fenêtre de classement
S’applique à : Databricks SQL Databricks Runtime
Retourne le rang d’une valeur par rapport à toutes les valeurs dans la partition.
Syntaxe
rank()
Arguments
Cette fonction ne prend pas d'arguments.
Retours
INTEGER
.
La clause OVER
de la fonction de fenêtre doit inclure une clause ORDER BY.
Contrairement à la fonction dense_rank
, la fonction rank produira des écarts dans la séquence de classement.
Contrairement à row_number
, la fonction rank ne rompt 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