久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎么在Mysql中利用排序獲取排名

152次閱讀
沒有評論

共計 1070 個字符,預計需要花費 3 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章將為大家詳細講解有關怎么在 Mysql 中利用排序獲取排名,文章內容質量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

代碼如下所示:

SELECT @i:=@i+1 rowNum,
if(@total=t.s_score,@rank,@rank:=@i) rank,@total:=t.s_score,
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,
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 中利用排序獲取排名就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向 AI 問一下細節

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-04發表,共計1070字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 澄城县| 黑龙江省| 宝应县| 宜丰县| 广宁县| 两当县| 子长县| 津市市| 宁国市| 荆门市| 佛坪县| 甘谷县| 安陆市| 巨鹿县| 遵义市| 永安市| 开阳县| 灌南县| 新和县| 胶州市| 阜平县| 洛宁县| 特克斯县| 江西省| 和田县| 寿阳县| 龙山县| 永平县| 营口市| 上林县| 教育| 东港市| 东光县| 广宗县| 松原市| 图们市| 南开区| 荥经县| 普格县| 湘阴县| 潢川县|