OpenGauss数据库 - 复杂查询

第1关:分数排名

任务描述
本关任务:编写SQL查询来实现二种排名方式的分数排名。

score表结构信息如下:

Id Score
1 3.52
2 3.65
3 4.23
4 3.85
5 4.23
6 3.65
如果两个分数相同,则两个分数排名(Rank)相同。

情况一:平分后的下一个名次是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。例:1、1、2、3、4、4。

情况二:排名是非连续的。例:1、1、1、4、4、6。

 
--#请在此添加实现代码
--########## Begin ##########
select Score,(select count(distinct score) from score
 where score >=s.score) as Rank
from score as s
order by Score desc

猜你喜欢

转载自blog.csdn.net/Junds0/article/details/131166425