题解 | where筛出入职和现在两条数据,用lag取出上一条工资(即入职工资),剔除空值,做差
select emp_no,salary-l_salary growth from (select e.emp_no,salary,lag(salary,1)over(partition by emp_no order by to_date) l_salary from employees e join salaries s on e.emp_no=s.emp_no where to_date='9999-01-01' or hire_date=from_date) p where l_salary!='none'#现在日期取上一条为入职工资,入职日期取上一条为 0,所以剃掉 order by growth
查看3道真题和解析