mysql分组每组取10条
时间: 2023-07-07 17:43:38 浏览: 96
Mysql取分组后的每组第一条数据
你可以使用MySQL的子查询功能来实现此需求。首先,使用GROUP BY子句将数据按照分组字段分组,然后在子查询中使用LIMIT子句来限制每组的行数为10,最后使用JOIN将子查询的结果与原始表连接起来。以下是示例代码:
```
SELECT t1.*
FROM your_table t1
JOIN (
SELECT 分组字段, GROUP_CONCAT(主键字段 ORDER BY 排序字段) AS ids
FROM your_table
GROUP BY 分组字段
) t2 ON t1.主键字段 IN (SELECT SUBSTRING_INDEX(ids, ',', 10) FROM t2 WHERE 分组字段 = t1.分组字段)
```
其中,your_table是你要查询的表,分组字段是你要分组的字段,主键字段是你的表的主键,排序字段是你要按照哪个字段排序。这个查询将会返回每个分组中按照排序字段排序后的前10条数据。
阅读全文