【重学 MySQL】三十八、group by的使用
GROUP BY
是 SQL 中一个非常重要的子句,它通常与聚合函数(如 COUNT()
, MAX()
, MIN()
, SUM()
, AVG()
等)一起使用,用于将多个记录组合成汇总行。GROUP BY
通过一个或多个列对结果集进行分组,并可以对每个分组应用聚合函数。
基本语法
SELECT column_name(s), AGGREGATE_FUNCTION(column_name)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);
column_name(s)
: 你想要选择的列。AGGREGATE_FUNCTION(column_name)
: 应用于column_name
的聚合函数。table_name
: 你要从中选择数据的表。condition
: 用于选择记录的条件(可选)。GROUP BY column_name(s)
: 指定根据哪些列来分组结果。ORDER BY column_name(s)
: 可选,用于对结果进行排序。
示例
假设我们有一个名为 employees
的表,它包含以下列:id
, name
, department
, 和 salary
。
示例 1: 计算每个部门的员工数
SELECT department, COUNT(*) AS num_employees
FROM employees
GROUP BY department;
这个查询会返回每个部门以及该部门的员工数。