mysql中group by用法-SQL
MySQL 中 GROUP BY 用法
作为 MySQL 中用于数据聚合的重要关键字,GROUP BY 允许我们在查询结果中对数据进行分组,并基于分组结果进行进一步的计算。
语法
SELECT aggregate_function(column_name) FROM table_name GROUP BY group_column_name;
登录后复制
参数
- aggregate_function:聚合函数,例如 SUM、COUNT、AVG 等
- column_name:要聚合的列名
- table_name:包含要聚合数据的表名
- group_column_name:用于分组的列名
用法
- 分组列:GROUP BY 子句后面指定的列用于将数据分组。每个唯一的分组值创建一个单独的组。
- 聚合函数:聚合函数应用于分组后的结果集,以计算每个组的聚合值。
- 聚合结果:查询返回分组列的唯一值以及聚合值。
示例
SELECT department_id, SUM(salary) AS total_salary FROM employee GROUP BY department_id;
登录后复制
此查询将员工数据按部门分组,并计算每个部门的总工资。结果如下:
department_id | total_salary |
---|---|
10 | 10000 |
20 | 15000 |
30 | 20000 |
注意事项
- 索引:对于大数据集,在分组列上创建索引可以提高查询性能。
- 多个分组列:可以使用多个列对数据进行分组。语法为:GROUP BY column_name1, column_name2, ...
- 分组空值:空值被视为一个单独的组。
- HAVING 子句:HAVING 子句用于在分组后对聚合结果进行筛选。语法为:HAVING aggregate_function(column_name) condition