Share via


rank funzione finestra di rango

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

Restituisce il rango di un valore rispetto a tutti i valori nella partizione.

Sintassi

rank()

Argomenti

Questa funzione non accetta argomenti

Resi

Oggetto INTEGER.

La OVER clausola della funzione window deve includere una clausola ORDER BY.

A differenza della funzione dense_rank, rank produrrà lacune nella sequenza di classificazione. A differenza di row_number, rank non interrompe i legami.

Se l'ordine non è univoco, i duplicati condividono la stessa posizione relativa precedente.

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