ROW_NUMBER
和DENSE_RANK
是窗口函数,用于对查询结果集中的行进行排名操作。它们的主要区别在于处理相同排名的行时的方式。
ROW_NUMBER
:ROW_NUMBER
为每行分配一个唯一的顺序号。ROW_NUMBER
会为它们分配不同的排名值。DENSE_RANK
:DENSE_RANK
会为它们分配相同的排名值。DENSE_RANK
会为它们分配相同的排名值。因此,当需要确保每个行都有唯一的排名值时,可以使用ROW_NUMBER
;而当希望相同排名的行具有相同的排名值时,可以使用DENSE_RANK
。