我的表结构如下
id int
name varchar 50
catid int
样本数据
id name catid
---------------------------------------------------------
1 AAA 1
2 BBB 1
3 CCC 1
4 DDD 2
5 EEE 2
6 FFF 1
7 GGG 2
8 HHH 2
9 III 1
我想要这样的查询为分页中的每一页从每个类别中获取一行
第一页我需要数据
id name catid
---------------------------------------------------------
1 AAA 1
4 DDD 2
第二页我需要数据
id name catid
---------------------------------------------------------
2 BBB 1
5 EEE 2
第三页我需要数据
id name catid
---------------------------------------------------------
3 CCC 1
7 GGG 2
等等。
我怎样才能做到这一点。
最佳答案
这对我很有用(Linux上的MySQL 5.1)
SELECT id, name, catid FROM
(SELECT id, name, catid FROM t WHERE catid=1 LIMIT 2,1) AS t1
UNION (SELECT id, name, catid FROM t WHERE catid=2 LIMIT 2,1)
ORDER BY catid
限制中的2是页码。因此,这一个的输出是为第二页。
关于mysql - 分页中每个页面的每个类别仅获得1条记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6222401/