Compartir a través de


dense_rank función de ventana de clasificación

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Devuelve el rango de un valor comparado con todos los valores de la partición.

Sintaxis

dense_rank()

Argumentos

Esta función no toma ningún argumento.

Devoluciones

Valor INTEGER.

La cláusula OVER de la función de ventana debe incluir una cláusula ORDER BY. A diferencia de la función de ventana de clasificación rank, dense_rank no producirá espacios en la secuencia de clasificación. A diferencia de la función de ventana de clasificación row_number, dense_rank no rompe lazos. Si el orden no es único, los duplicados comparten la misma posición posterior relativa.

Ejemplos

> 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