Share via


row_number funzione finestra di rango

Si applica a:check marked yes Databricks SQL check marked yes Databricks Runtime

Assegna un numero univoco e sequenziale a ogni riga, a partire da uno, in base all'ordinamento delle righe nella partizione della finestra.

Sintassi

row_number()

Argomenti

La funzione non accetta argomenti.

Resi

Oggetto INTEGER.

La OVER clausola della funzione window deve includere una clausola ORDER BY. A differenza di rank e dense_rank, row_number interrompe i legami.

Se l'ordine non è univoco, il risultato non è deterministico.

Esempi

> 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