1. 程式人生 > >mysql 查詢獲取排名的方法(絕對有效)

mysql 查詢獲取排名的方法(絕對有效)



我去他大爺的,為了查詢後搞個排名,在網上找了一下午的資料,對照著網上那些所謂的方法試了幾十遍,每一個有效的!

沒想到這快要下班的時候,居然找到了一種有效的方法,經本人測試,絕對沒問題!

=========================  例子 ========================================

 需求:獲取分類平均值的名次? 比如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'