任务描述
本关任务:编写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 - End
区域内进行代码补充。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
开始你的任务吧,祝你成功!
#请在此添加实现代码
########## Begin ##########
SELECT Score,(select count(distinct Score)from score where score>=s.score) as Rank from score s order by score desc;
select Score,(select count(Score)+1 from score where score>s.score) as Rank
from score s order by score desc;
########## End ##########