Dela via


rank funktion för rangordningsfönster

Gäller för:check marked yes Databricks SQL check marked yes Databricks Runtime

Returnerar rangordningen för ett värde jämfört med alla värden i partitionen.

Syntax

rank()

Argument

Den här funktionen tar inga argument.

Returer

En INTEGER.

OVER Satsen i fönsterfunktionen måste innehålla en ORDER BY-sats.

Till skillnad från funktionen dense_rankskapar rangordningen luckor i rangordningssekvensen. Till skillnad från row_numberbryter rang inte banden.

Om ordningen inte är unik delar dubbletter samma relativa tidigare position.

Exempel

> 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