編寫乙個 sql 查詢來實現分數排名。如果兩個分數相同,則兩個分數排名(rank)相同。請注意,平分後的下乙個名次應該是下乙個連續的整數值。換句話說,名次之間不應該有「間隔」。
+----+-------+
| id | score |
+----+-------+
| 1 | 3.50 |
| 2 | 3.65 |
| 3 | 4.00 |
| 4 | 3.85 |
| 5 | 4.00 |
| 6 | 3.65 |
+----+-------+
# write your mysql query statement below
select t3.score 'score', convert(t4.rownum, signed) 'rank' from `scores` t3
join (select score, @rownum:=@rownum+1 as rownum
from (select score from (select * from `scores` group by score) t order by t.score desc) t1, (select @rownum:=0) t2) t4
on t3.score = t4.score order by t3.score desc
Mysql 獲取成績排序後的名次
其實就是輸出mysql的排序後的行號 rt 獲取單個使用者的成績在所有使用者成績中的排名 可以分兩步 1 查出所有使用者和他們的成績排名 select id,maxscore,rownum rownum 1 as rowno from t user,select rownum 0 b order b...
Problem E 成績排序
time limit 1 sec memory limit 128 mb submit 779 solved 635 submit status web board 定義student類 1.資料成員string name和int score表示乙個學生的姓名 成績。2.無參建構函式。3.void ...
Problem B 成績排序
home web board problemset standing status statistics time limit 1 sec memory limit 128 mb submit 1579 solved 1259 submit status web board 定義student類 1...