Dela via


row_number funktion för rangordningsfönster

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

Tilldelar ett unikt sekventiellt nummer till varje rad, från och med en, enligt ordningen på rader i fönsterpartitionen.

Syntax

row_number()

Argument

Funktionen tar inga argument.

Returer

En INTEGER.

OVER Satsen i fönsterfunktionen måste innehålla en ORDER BY-sats. Till skillnad från rank och dense_rank, row_number bryter banden.

Om ordningen inte är unik är resultatet icke-deterministiskt.

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