如下图所示的表结构,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

最终实现的结果如下图所示:

posted on 2015-04-23 12:33  夏天的cnblog  阅读(274)  评论(0)    收藏  举报