row_number
funktion för rangordningsfönster
Gäller för: Databricks SQL 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