SQL07 查找薪水变动超过15次的员工号emp_no以及其对应的变动次数t

本文最后更新于:2022年4月9日 中午


题目描述

查找薪水变动超过15次的员工号emp_no以及其对应的变动次数t

1
2
3
4
5
6
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`));

输入描述

输出描述

emp_no t
10001 17
10004 16
10009 18

题解

1
select emp_no, count(*) as t from salaries group by emp_no having t>15;

拓展:

查找涨薪超过15的员工号emp_no以及其对应的变动次数

1
2
3
4
5
select a.emp_no,count(*) t from salaries a inner join salaries b
on a.emp_no=b.emp_no and a.to_date = b.from_date
where a.salary < b.salary
group by a.emp_no
having t>15