leetcode178 分數排名

2021-09-22 22:50:07 字數 678 閱讀 8901

sql架構 編寫乙個 sql

查詢來實現分數排名。如果兩個分數相同,則兩個分數排名(rank)相同。請注意,平分後的下乙個名次應該是下乙個連續的整數值。換句話說,名次之間不應該有「間隔」。

例如,根據上述給定的 scores 表,你的查詢應該返回(按分數從高到低排列):

排序score,找出有多少個score(去除重複distinct)比當前score多,當前的rank即為其+1。

select s1.score, 

(select count(distinct s2.score)+1

from scores s2

where s2.score > s1.score ) rank

from scores s1

order by s1.score desc;

成功

顯示詳情

執行用時 : 833 ms, 在rank scores的mysql提交中擊敗了63.26% 的使用者

leetcode 178 分數排名

sql架構 create table ifnot exists scores id int score decimal 3 2 truncate table scores insert into scores id,score values 1 3.5 insert into scores id,s...

LeetCode 178 分數排名

題目 編寫乙個 sql 查詢來實現分數排名。如果兩個分數相同,則兩個分數排名 rank 相同。請注意,平分後的下乙個名次應該是下乙個連續的整數值。換句話說,名次之間不應該有 間隔 表 scores id score 1 3.50 2 3.65 3 4.00 4 3.85 5 4.00 6 3.65 ...

LeetCode 178 分數排名

編寫乙個 sql查詢來實現分數排名。如果兩個分數相同,則兩個分數排名 rank 相同。請注意,評分後的下乙個名次應該是下乙個連續的整數值。換句話說,名次之間不應該有 間隔 建表 create table scores id int score decimal 3 2 insert into scor...