评分排名选项的差异

您好,

有人知道分数排名策略中的 dense_rank / rank / row_number 选项之间的区别吗?

1 个赞

row_number () → bigint
返回其分区内当前行的编号,从 1 开始计数。

rank () → bigint
返回当前行的排名,有间隙;也就是说,其同级组中第一行的 row_number

dense_rank () → bigint
返回当前行的排名,无间隙;此函数有效地计算同级组。

基本上,它改变了平局的处理方式。

  • 在 row_number 上没有平局。
  • 在 rank 上,如果有两行并列第 5 位,则下一行将是第 7 位,因为跳过了第 6 位。
  • 在 dense_rank 上,如果有两行并列第 5 位,则下一行将是第 6 位。
4 个赞

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