dense_rank função de janela de classificação

Aplica-se a:verificar a verificação sim Databricks SQL marcada como sim Databricks Runtime

Devolve a classificação de um valor em comparação com todos os valores na partição.

Sintaxe

dense_rank()

Argumentos

Esta função não aceita argumentos.

Devoluções

UM NÚMERO INTEIRO.

A cláusula OVER da função janela tem de incluir uma cláusula ORDER BY. Ao contrário da função da janela de classificação da função, dense_rank não produzirá lacunas na sequência de classificação. Ao contrário row_number função de janela de classificação, dense_rank não quebra laços. Se a encomenda não for exclusiva, os duplicados partilham a mesma posição posterior relativa.

Exemplos

> 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