示例
示例
SELECT city, status, COUNT(*) AS cnt
FROM users
GROUP BY city, status WITH ROLLUP;| 层级 | 按分组列从左到右逐级汇总 |
|---|---|
| 小计行 | 被汇总的列为 NULL |
| 识读 | 用 GROUPING() 区分“真 NULL”与“小计 NULL” |
GROUP BY ... WITH ROLLUP 在结果中追加小计与总计行:MySQL 8 与 PostgreSQL 均支持,小计行的分组列显示为 NULL。
SELECT city, status, COUNT(*) AS cnt
FROM users
GROUP BY city, status WITH ROLLUP;| 层级 | 按分组列从左到右逐级汇总 |
|---|---|
| 小计行 | 被汇总的列为 NULL |
| 识读 | 用 GROUPING() 区分“真 NULL”与“小计 NULL” |