função de janela de classificação dense_rank
Aplica-se a: SQL do Databricks Runtime do Databricks
Retorna a classificação de um valor em comparação com todos os valores na partição.
Sintaxe
dense_rank()
Argumentos
Essa função não utiliza argumentos.
Retornos
Um INTEGER.
A cláusula OVER da função de janela precisa incluir uma cláusula ORDER BY. Ao contrário da função de janela de classificação rank, dense_rank não produzirá lacunas na sequência de classificação. Ao contrário da função de janela de classificação row_number, dense_rank não desfará os vínculos. Se a ordem não for exclusiva, as duplicatas terão a mesma posição relativa posterior.
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