Mysql 獲取成績排序後的名次

執筆記憶的空白發表於2015-09-18
其實就是輸出mysql的排序後的行號

RT:獲取單個使用者的成績在所有使用者成績中的排名

可以分兩步:
1、查出所有使用者和他們的成績排名

select id,maxScore,(@rowNum:=@rowNum+1) as rowNo
from t_user,
(select (@rowNum :=0) ) b
order by t_user.maxScore desc 

2、查出某個使用者在所有使用者成績中的排名

select u.rowNo from (
select id,(@rowNum:=@rowNum+1) as rowNo
from t_user,
(select (@rowNum :=0) ) b
order by t_user.maxScore desc ) u where u.id="2015091810371700001";

OK~  一切搞定

相關文章