易百教程

63、RANK() 和 DENSE_RANK() 函数有什么区别?

RANK 函数确定结果集中有序分区中每一行的排名。 如果这两行被分配了相同的排名,那么排名中的下一个数字将是它的前一个排名加上一些重复的数字。 例如,如果我们有 3 个第 4 级的记录,则列出的下一个排名将是第 7 级。

DENSE_RANK 函数根据指定的列值为分区内的每一行分配一个唯一的排名,没有任何间隙。 它总是按连续顺序指定排名。 如果这两行被分配了相同的排名,这个函数将给它分配相同的排名,并且下一个排名是下一个序号。 例如,如果我们有 3 条记录位于第 4 级,则列出的下一个排名将是第 5 级。