一、语法
select 分组函数,分组后的字段
from 表
【where 筛选条件】
group by 分组的字段
【having 分组后的筛选】
【order by 排序列表】
二、特点
分组前筛选
使用关键字:where
筛选的表:原始表
位置:group by的前面
分组后筛选
使用关键字:having
筛选的表:分组后的结果
位置:group by 的后面
三、注意
1、分组函数做筛选不能放在where后面
2、一般来讲,能用分组前筛选的,尽量使用分组前筛选,提高效率
3、分组可以按单个字段也可以按多个字段
4、可以搭配着排序使用
四、案例
1.简单的分组
#案例1:查询每个工种的员工平均工资
SELECT AVG(salary),job_id
FROM employees
GROUP BY job_id;
#案例2:查询每个位置的部门个数
SELECT COUNT(*),location_id
FROM departments
GROUP BY location_id;
2、可以实现分组前的筛选
#案例1&#x