分组查询
1.-group by
语法:
select 分组函数,列(出现在group by后面的必须存在)
from 表
【where 条件】
group by 分组的列表
【order by 子句】
一.group by简单案例
每个部门的平均工资
select department ,avg(slalary)
from table
group by department
2.查询每个部门的位置个数
select count(*)location_id
from department
group by location_id
二.group by复杂案例
每个部门工种大于2的部门
select count(*) ,department_id
from employee
#where count(*)>2 不能这样用,这里where count(*) 统计的是employee表
group by department_id
#having 一般和group by 一起使用,统计分组后的筛选
having count(*)>2
如果能够根据原始表进行筛选用where
不能直接根据原始表进行少选用having