首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

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

2012-10-14 
mysql 根据一个字段分组 并显示每个分组的前N个值(从大到小排)表大概这个样子gidlevel1918191516354453354

mysql 根据一个字段分组 并显示每个分组的前N个值(从大到小排)
表大概这个样子
gidlevel
19
18
19
15
16
35
44
53
35
43
54
38
59
62
假设N是2 那就需求显示成大致这样
gidlevel
19
19
38
35
44
43
59
54
62

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

热点排行