学习要点
- 使用GROUP BY子句可以像切蛋糕那样对表进行分割。通过使用聚合函数和GROUP BY子句,可以根据“商品种类”,“登记日期”等将表分割后再进行汇总。
- 聚合键中包含NULL时候,在结果中会以“不确定”行(空行)的形式表现出来。
- 使用聚合函数和GROUP BY子句的时候应该注意以下4点。
- 只能写在SELECT子句之中。
- GROUP BY子句中不能够使用SELECT子句中的别名
- GROUP BY子句的聚合结果是无序的
- WHERE子句不能够使用聚合函数
GROUP BY子句
到目前为止,学习的聚合函数使用方法中,无论是否包含NULL,无论是否删除重复数据,都是针对表中的所有数据进行汇总的处理。下面,我们会先把表分为几组,然后再进行汇总处理。
语法
SELECT 分组函数, 列(要求出现在GROUP BY 的后面)
FROM 表名
WHERE 删选条件
GROUP BY 分组列表
ORDER BY 列表;
案例
1.简单分组
1.查询每个工种的员工平均工资
SELECT AVG(salary),job_id
FROM employees
GROUP BY job_id;
2.查询每个位置的部门个数
SELECT COUNT(*),location_id
FROM departments
GROUP BY