如下图所示的表结构,mysql中查出按照相同class的成员按照年龄排序。

sql语句实现如下:
1 SELECT id,name,age,rank FROM 2 (SELECT *,@rownum:=@rownum+1 AS rownum,IF(@pa=ff.class,@rank:=@rank+1,@rank:=1) AS rank,@pa:=ff.class 3 FROM 4 (SELECT id,class,name,age FROM test GROUP BY class,age ORDER BY class ASC, age ASC) ff,(SELECT @rank:=0,@rownum:=0,@pa=NULL) tt) result
最终实现的结果如下图所示:

浙公网安备 33010602011771号