row_number与dense_rank比较

avatar
作者
筋斗云
阅读量:6

ROW_NUMBERDENSE_RANK是窗口函数,用于对查询结果集中的行进行排名操作。它们的主要区别在于处理相同排名的行时的方式。

  1. ROW_NUMBER
  • 如果有多行具有相同的排序值,则ROW_NUMBER为每行分配一个唯一的顺序号。
  • 例如,如果存在两个第一名,则ROW_NUMBER会为它们分配不同的排名值。
  1. DENSE_RANK
  • 如果有多行具有相同的排序值,则DENSE_RANK会为它们分配相同的排名值。
  • 例如,如果存在两个第一名,则DENSE_RANK会为它们分配相同的排名值。

因此,当需要确保每个行都有唯一的排名值时,可以使用ROW_NUMBER;而当希望相同排名的行具有相同的排名值时,可以使用DENSE_RANK

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!