Partager via


row_numberFonction de fenêtre de classement

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

Attribue un numéro unique et séquentiel à chaque ligne, en commençant par un, selon l’ordre des lignes dans la partition de la fenêtre.

Syntaxe

row_number()

Arguments

La fonction ne prend aucun argument.

Retours

INTEGER.

La clause OVER de la fonction de fenêtre doit inclure une clause ORDER BY. Contrairement rank et à dense_rank, row_number départage les égalités.

Si l’ordre n’est pas unique, le résultat est non déterministe.

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