LeetCode--178.分数排名

编写一个 SQL查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,评分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PSqpP9YC-1601619197957)(687B2150420E436BAC89B48770040294)]

建表

Create table  scores (Id int, Score DECIMAL(3,2));
insert into scores (Id, Score) values ('1','3.5');
insert into scores (Id, Score) values ('2','3.65');
insert into scores (Id, Score) values ('3','4.0');
insert into scores (Id, Score) values ('4','3.85');
insert into scores (Id, Score) values ('5','4.0');
insert into scores (Id, Score) values ('6','3.65');

用开窗函数排序即可

select Id, Score, dense_rank() over(ORDER BY Score desc) ranks from scores

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42363032/article/details/108901741