mysql 查詢獲取排名的方法(絕對有效)
阿新 • • 發佈:2019-01-08
我去他大爺的,為了查詢後搞個排名,在網上找了一下午的資料,對照著網上那些所謂的方法試了幾十遍,每一個有效的!
沒想到這快要下班的時候,居然找到了一種有效的方法,經本人測試,絕對沒問題!
========================= 例子 ========================================
需求:獲取分類平均值的名次? 比如10個班級的平均分,按照班級名稱排序,後面跟著名次。
記錄表:table_test ;
欄位:banji 班級;AvgS 平均分;pm 排名;
解決方法:
FROM
(
SELECT A.*,@rank:[email protected] +1 as pm
FROM
(
SELECT banji,avg(score) as AvgS FROM table_test GROUP BY banji ORDER BY AvgS DESC
) A ,(SELECT @rank:=0) B
) M
ORDER BY M.banji
==============================>>>>>>>>輸出結果: banji AvgS pm ----------------------- '1', '47.0000', '1' '2', '12.0000', '3' '5', '38.5000', '2'