LeetCode--178.分數排名

Take your time_發表於2020-10-02

編寫一個 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

在這裡插入圖片描述

相關文章