温馨提示×

row_number与dense_rank比较

小樊
179
2024-06-17 14:28:57
栏目: 编程语言

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

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

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

0