MySQL 分组学习笔记

MySQL中的分组(Group By)功能可以将数据按照指定的列进行分组,并对每个分组进行统计、汇总等操作。

基本语法

sqlCopy Code
SELECT1, 列2, ... , 列n, 函数1(列x), 函数2(列y), ... , 函数m(列z) FROM 表名 WHERE 条件表达式 GROUP BY1, 列2, ... , 列n HAVING 分组条件表达式

说明:

  • SELECT子句:查询的列以及需要进行聚合计算的列;
  • FROM子句:要查询的表;
  • WHERE子句:查询的条件,可选项;
  • GROUP BY子句:按照哪个或哪些列进行分组;
  • HAVING子句:根据分组后的结果做进一步的筛选,可选项。

示例

sqlCopy Code
-- 按部门分组,同时计算平均工资 SELECT dept_name, avg(salary) FROM employee GROUP BY dept_name; -- 按年份、季度分组,同时计算各个分组的销售额 SELECT year(sales_date) as year, quarter(sales_date) as quarter, SUM(amount) as total_sales FROM sales GROUP BY year, quarter; -- 按性别分组,筛选出平均年龄大于30岁的人 SELECT sex, avg(age) as avg_age FROM person GROUP BY sex HAVING avg_age > 30;

以上是MySQL分组的基本语法和示例,希望对你的学习有所帮助。