mysql查询获取排名sql语句

发布时间:2021-01-04编辑:脚本学堂
分享下mysql查询语句获取排名的方法,对查询数据进行排名怎么用sql语句实现,找到一个有效的排名查询方法,一起来学习下。

需求:获取分类平均值的名次? 比如10个班级的平均分,按照班级名称排序,后面跟着名次。

记录表:table_test ;

字段:banji 班级;AvgS 平均分;pm 排名;

解决方法(sql语句):
 

复制代码 代码示例:
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'