主頁 > 知識庫 > Mysql排序獲取排名的實例代碼

Mysql排序獲取排名的實例代碼

熱門標簽:遵義地圖標注app 陜西400電話如何申請 地圖標注賺錢真假 深圳 商家地圖標注哪個好 承德電腦地圖標注 德惠市地圖標注 合肥營銷外呼系統收費 外呼系統從哪買

代碼如下所示:

SELECT @i:=@i+1 rowNum,
if(@total=t.s_score,@rank,@rank:=@i) rank,@total:=t.s_score,
t.*
from(
select t1.* ,t2.s_score from student t1 LEFT JOIN score t2 on t1.s_id=t2.s_id and t2.c_id="01" ORDER BY t2.s_score desc
)t,(select @i:=0,@rank:=0,@total:=null) s ;
SELECT @i:=@i+1 rowNum,
if(@total=t.s_score,@rank,@rank:=@rank+1) rank,@total:=t.s_score,
t.*
from(
select t1.* ,t2.s_score from student t1 LEFT JOIN score t2 on t1.s_id=t2.s_id and t2.c_id="01" ORDER BY t2.s_score desc
)t,(select @i:=0,@rank:=0,@total:=null) s ; 

Mysql 獲取成績排序后的名次

其實就是輸出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"; 

總結

以上所述是小編給大家介紹的Mysql排序獲取排名,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • MYSQL實現排名及查詢指定用戶排名功能(并列排名功能)實例代碼
  • MySQL頁面訪問統計及排名情況
  • MySQL中給自定義的字段查詢結果添加排名的方法
  • mysql分組取每組前幾條記錄(排名) 附group by與order by的研究
  • 總結幾種MySQL中常見的排名問題

標簽:揚州 巴中 南陽 贛州 新余 商丘 三門峽 貴州

巨人網絡通訊聲明:本文標題《Mysql排序獲取排名的實例代碼》,本文關鍵詞  Mysql,排序,獲取,排名,的,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mysql排序獲取排名的實例代碼》相關的同類信息!
  • 本頁收集關于Mysql排序獲取排名的實例代碼的相關信息資訊供網民參考!
  • 推薦文章