1.按照某字段分组,
2.每组取只20条数据,
备注:每个分组可能有100条,或者1,2条数据。mysql不支持子查询limit.
第一种方法:
SELECT *
FROM
referrerInfo r
WHERE 1 >
(SELECT COUNT(*)
FROM referrerInfo
WHERE referrerInfo.cUserId = r.cUserId AND referrerInfo.id < r.id)
ORDER BY cUserId
referrerInfo 表名
cUserId 分组字段
id 过滤分组的,最好用主键
1 每组取的条数
第二种方法(比第一种要慢一些):
SELECT a.*
FROM
(
SELECT
r.*,
(SELECT count(*) + 1
FROM referrerInfo
WHERE referrerInfo.cUserId = r.cUserId AND referrerInfo.id < r.id ) AS group_id
FROM referrerInfo r
) a
WHERE a.group_id <= 1 order by cUserId
更多内容请访问:IT源点
注意:本文归作者所有,未经作者允许,不得转载