步骤分解
- 使用group by来按照emp_no创建分组,以统计员工的薪水记录次数
- 使用having对第1步中分组后的结果进行分组筛选
知识点
- where过滤行,having过滤分组
- where在数据分组前进行过滤,having在数据分组后进行过滤,例如,下列语句中,先使用where语句过滤所有salary至少为66596的行,然后按emp_no分组数据,having子句过滤计数超过15的分组。
select emp_no, count(*) t from salaries where salary >= 66596 group by emp_no having t > 15;
完整答案
select emp_no, count(*) t from salaries group by emp_no having t > 15;