dense_rank funktion för rangordningsfönster

Gäller för:check markerad ja Databricks SQL-kontroll markerad som ja Databricks Runtime

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

Syntax

dense_rank()

Argument

Den här funktionen tar inga argument.

Returnerar

Ett HELTAL.

OVER-satsen i fönsterfunktionen måste innehålla en ORDER BY-sats. Till skillnad från funktionen rangordningsfönster skapar dense_rank inte luckor i rangordningssekvensen. Till skillnad från row_number rangordningsfönsterfunktion bryter dense_rank inte oavgjort. Om ordningen inte är unik delar dubbletter samma relativa senare 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