给出每个员工每年薪水涨幅超过5000的员工编号emp_no、薪水变更开始日期from_date以及薪水涨幅值salary_growth,并按照salary_growth逆序排列。
提示:在sqlite中获取datetime时间对应的年份函数为strftime(‘%Y’, to_date)
(数据保证每个员工的每条薪水记录to_data-from_data=1年,而且同一员工的下一条薪水记录from_data=上一条薪水记录的to_data)
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`));
思路
select emp_no,from_date,
薪水涨幅值
(第二年高的Salary-第一年低的Salary)as salary_growth
SELECT s1.emp_no,s1.from_date,(s1.salary-s2.salary )as salary_growthfrom salaries s1join salaries s2on s1.emp_no=s2.emp_no and s1.from_date=s2.to_datewhere salary_growth>5000/*一开始报错group by emp_no having salary_growth>5000*/order by salary_growth desc
