| 用途 | 分组聚合 |
|---|---|
| 语法 | GROUP BY 列 [WITH ROLLUP] |
| 约束 | ONLY_FULL_GROUP_BY(默认开启) |
基础分组
基础分组
SELECT status, COUNT(*) AS cnt, SUM(amount) AS total
FROM orders
WHERE created_at >= '2026-10-01'
GROUP BY status;多列分组与小计
多列分组与小计
SELECT DATE(created_at) AS d, status, COUNT(*) AS cnt
FROM orders
GROUP BY d, status WITH ROLLUP
ORDER BY d DESC, status;分组常伴随临时表或排序;分组键上有索引时(尤其与 WHERE 条件对齐)可显著提速。