题目描述
查找薪水变动超过15次的员工号emp_no以及其对应的变动次数t
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
解答:
按员工进行分组,统计其工资条数进行判断即可。
where是在分组前过滤行,having是在分组后过滤组,显然这题要过滤掉行数小于等于15的组,所以用having
select
emp_no ,
count(to_date)
from
salaries s
group by
emp_no
having
count(to_date) > 15