温馨提示×

SQL DENSE_RANK和RANK的区别

sql
小樊
138
2024-08-06 01:02:13
栏目: 云计算

在SQL中,DENSE_RANK和RANK是用来对结果集中的行进行排名的两个函数。它们的区别在于处理相同排名的情况上。

  • DENSE_RANK函数会给相同排名的行分配连续的排名,即如果有两行的得分相同,它们会被分配相同的排名,而后续行的排名会按照这个规则依次递增。比如,如果有两行得分都是第一名,那么它们的排名将都是1,而下一行的排名将是2。

  • RANK函数会给相同排名的行分配相同的排名,即如果有两行的得分相同,它们会被分配相同的排名,而后续行的排名会按照这个规则跳过相同排名的行数继续递增。比如,如果有两行得分都是第一名,那么它们的排名将都是1,而下一行的排名将是3。

总的来说,DENSE_RANK会得到更加连续的排名序列,而RANK会根据相同排名的行数跳过相应的排名。

0