温馨提示×

row_number与dense_rank比较

小樊
181
2024-06-17 14:28:57
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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

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

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

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:SQL DENSE_RANK和ROW_NUMBER比较

0