我去他大爷的,为了查询后搞个排名,在网上找了一下午的资料,对照着网上那些所谓的方法试了几十遍,每一个有效的!
没想到这快要下班的时候,居然找到了一种有效的方法,经本人测试,绝对没问题!
========================= 例子 ========================================
需求:获取分类平均值的名次? 比如10个班级的平均分,按照班级名称排序,后面跟着名次。
记录表:table_test ;
字段:banji 班级;AvgS 平均分;pm 排名;
解决方法:
FROM
(
SELECT A.*,@rank:=@rank+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'