wangshx666

1.rank()
按照某字段的排序结果添加排名,但它是跳跃的、间断的排名,例如两个并列第一名后,下一个是第三名,1、1、3、4.

SELECT Score,rank() over(ORDER BY Score desc) as \'Rank\' FROM score;
# 分组排序
SELECT Score,rank() over(partition by xxx ORDER BY Score desc) as \'Rank\' FROM score;

2.row_number()
它是将某字段按照顺序依次添加行号。如1、2、3、4

SELECT Score,row_number() over(ORDER BY Score desc) as \'Rank\' FROM score;
# 分组排序
SELECT Score,row_number() over(partition by xxx ORDER BY Score desc) as \'Rank\' FROM score;

3.dense_rank()
dense 英语中指“稠密的、密集的”。dense_rank()是的排序数字是连续的、不间断。当有相同的分数时,它们的排名结果是并列的,例如,1、2、2、3、4。

SELECT Score,dense_rank() over(ORDER BY Score desc) as \'Rank\' FROM score;
# 分组排序
SELECT Score,dense_rank() over(partition by xxx ORDER BY Score desc) as \'Rank\' FROM score;

4.总结

分类:

技术点:

相关文章:

  • 2021-12-31
  • 2021-12-31
  • 2021-08-10
  • 2021-10-11
  • 2021-12-29
  • 2022-02-06
  • 2021-07-19
  • 2021-12-12
猜你喜欢
  • 2021-12-31
  • 2021-12-31
  • 2021-12-31
  • 2021-12-31
  • 2021-05-02
  • 2022-12-23
  • 2022-01-20
相关资源
相似解决方案