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 rollupGROUP BY dept WITH ROLLUP
PostgreSQL rollupGROUP 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 款免费的浏览器端科学、工程与开发工具。无需注册。