SQL GROUP BY — 为聚合分组行
GROUP BY 按指定列对行分组,使 COUNT、SUM、AVG 等聚合按组计算。SELECT 中的非聚合列必须出现在 GROUP BY 中(PostgreSQL/标准严格;MySQL 取决于 ONLY_FULL_GROUP_BY)。
打开 DevRef Hub 工具 →关键数据
| 语法 | SELECT dept, COUNT(*) FROM employees GROUP BY dept; |
|---|---|
| MySQL rollup | GROUP BY dept WITH ROLLUP |
| PostgreSQL rollup | GROUP BY ROLLUP (dept) |
| 规则 | 非聚合列须在 GROUP BY 中 |
常见问题
GROUP BY 做什么?
按列对行分组,使聚合函数按组执行。
为什么某列会导致 GROUP BY 报错?
SELECT 的非聚合列必须在 GROUP BY 中(MySQL 的 ONLY_FULL_GROUP_BY)。
相关页面
SQL GROUP BY 是 GOAT Lab 中 DevRef Hub 的一部分——免费、无需注册、可离线使用的参考工具。点击上方工具可换算任意数值。
GOAT Lab 的一部分 — 26 款免费的浏览器端科学、工程与开发工具。无需注册。