ROW_NUMBER
和DENSE_RANK
是窗口函数,用于对查询结果集中的行进行排名操作。它们的主要区别在于处理相同排名的行时的方式。
ROW_NUMBER
:ROW_NUMBER
为每行分配一个唯一的顺序号。ROW_NUMBER
会为它们分配不同的排名值。DENSE_RANK
:DENSE_RANK
会为它们分配相同的排名值。DENSE_RANK
会为它们分配相同的排名值。因此,当需要确保每个行都有唯一的排名值时,可以使用ROW_NUMBER
;而当希望相同排名的行具有相同的排名值时,可以使用DENSE_RANK
。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:SQL DENSE_RANK和ROW_NUMBER比较