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:用于分组的列名

用法

  1. 分组列:GROUP BY 子句后面指定的列用于将数据分组。每个唯一的分组值创建一个单独的组。
  2. 聚合函数:聚合函数应用于分组后的结果集,以计算每个组的聚合值。
  3. 聚合结果:查询返回分组列的唯一值以及聚合值。

示例

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

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。