Diferenças nas Opções de Classificação de Pontuação

Olá,

Alguém sabe as diferenças entre as opções dense_rank / rank / row_number na estratégia de classificação de pontuação?

1 curtida

row_number () → bigint
Retorna o número da linha atual dentro de sua partição, contando a partir de 1.

rank () → bigint
Retorna a classificação da linha atual, com lacunas; ou seja, o row_number da primeira linha em seu grupo de pares.

dense_rank () → bigint
Retorna a classificação da linha atual, sem lacunas; esta função conta efetivamente os grupos de pares.

Basicamente, muda a forma como os empates são tratados.

  • Em row_number, não há empates.
  • Em rank, se houver dois empatados na posição 5, o próximo será a posição 7, pois a posição 6 foi pulada.
  • Em dense_rank, se houver dois empatados na posição 5, o próximo será a posição 6.
4 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.