mysql分组内排序

mysql分组内排序表结构

 

 

按各科成绩进行排序,并显示排名(实现不完全)

 

要求结果如下

mysql分组内排序

 

sql写法    select a.* from (SELECT c_id,s_score,@i:[email protected] +1 as i保留排名 FROM (select @i:=0)s,Score  WHERE c_id='01'ORDER BY s_score desc) a  UNION all
select b.* from (SELECT c_id,s_score,@t:[email protected] +1 as i保留排名 FROM (select @t:=0)s,Score  WHERE c_id='02'  ORDER BY s_score desc)b UNION all
select c.* from (SELECT c_id,s_score,@q:[email protected] +1 as i保留排名 FROM (select @q:=0)s,Score  WHERE c_id='03'  ORDER BY s_score desc)c;