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条记录方法征集,及散分....