2 lnktoking lnkToKing 于 2016.03.16 15:28 提问

mysql某个字段排序后按这个字段分组取前10个的数据

需求是按某个字段分组,再按分组分页,取出每页分组里的所有数据。
例如表数据

Id 组名
1    A
2    A
3    B
4    A
5    B
6    C
7    F
8    C
9    D
10   E
11   F

每页取两组数据,第一页结果是

Id 组名
1    A
2    A
4    A
3    B
5    B

第二页结果是

Id 组名
6    C
8    C
9    D

第三页结果是

Id 组名
10   E
7    F
11   F

这有办法用一条sql查吗

2个回答

lnkToKing
lnkToKing   2016.03.17 12:20
已采纳

已经知道怎么写了,留下记录,给大家参考

 select * from table where 组名 in (select  组名 from table group by 组名 order by 组名 limit 0, 2) order by 组名, id
caozhy
caozhy   Ds   Rxr 2016.03.16 18:48

不知道你的分组的依据是什么,至于提取前10个,用select top 10 from ... 即可。

lnkToKing
lnkToKing 是按组名分组并排序,但group by 组名 后只能取分组里的一条数据,我要的是分组后前10组的所有数据
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!