题解 | 查找在职员工自入职以来的薪水涨幅情况

select emp_no, growth
from (
select emp_no, (salary-lag(salary,1)over(partition by emp_no order by to_date asc)) growth
from (
select s.emp_no, s.salary, s.to_date
from salaries s join employees e on s.emp_no=e.emp_no 
where (e.hire_date=s.from_date and s.emp_no in (select s.emp_no from salaries s join employees e on s.emp_no=e.emp_no where s.to_date='9999-01-01')) or to_date='9999-01-01') a #查询在职员工的入职的薪资和稳定的薪资即a表
) b #薪水涨幅表
where growth is not null
order by growth asc

先查询在职员工的入职的薪资和稳定的薪资,然后算出薪水涨幅growth

全部评论

相关推荐

05-03 12:45
西南大学 Java
nsnzkv:你这项目写的内容太多了,说实话都是在给自己挖坑,就算简历过了,后面面试也难受
点赞 评论 收藏
分享
05-07 19:10
已编辑
中国科学技术大学 C++
silly01:现在先去 momenta,8-9月去鹅找日常实习,八股文算法背好了你这随便进。不过建议补充一下后端知识,MySQL、Redis看下八股,再补个6824,加点go后台的技术栈,9月随便进大厂。CPP后端只能来WXG
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务