mysql 依据一个字段分组 并显示每个分组的前N个值(从大到小排)

mysql 根据一个字段分组 并显示每个分组的前N个值(从大到小排)

表大概这个样子

gid level

1 9

1 8

1 9

1 5

1 6

3 5

4 4

5 3

3 5

4 3

5 4

3 8

5 9

6 2

假设N是2 那就需求显示成大致这样

gid level

1 9

1 9

3 8

3 5

4 4

4 3

5 9

5 4

6 2

gid的不连续的 level 是很多重复的。

看人家在sql server里面用row number做的。

刚接触数据库没一个月呢。小白求教



就是每组去最大的前两个吧

select *

from tb A

where 2>=(select count(*) from tb where A.gid=gid and A.level<=level)




参考下贴中的多种方法

http://blog.csdn.net/acmain_chm/article/details/4126306

[征集]分组取最大N条记录方法征集,及散分….

mysql 依据一个字段分组 并显示每个分组的前N个值(从大到小排)

相关文章:

你感兴趣的文章:

标签云: