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

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

https://www.nowcoder.com/practice/fc7344ece7294b9e98401826b94c6ea5

#思路,我们可以求出入职的时候的工资,也就是按照emp_no分组,时间升序第一个的工资,在求一个emp_no分组的时间降序的工资,作为最近工资,相减就是答案,当然,我们要考虑,to_date="9999-01-01"的要求,所有,我们增加子查询,找到那些符合to_date="9999-01-01"的emp_no即可。
select
t.emp_no,
sum(case when t.m=1 then t.salary when t.d=1 then -t.salary end) as growth
from(
select
emp_no,
salary,
dense_rank()over(partition by emp_no order by to_date asc) as d,
dense_rank()over(partition by emp_no order by to_date desc) as m,
to_date
from salaries
) as t 
where 
t.emp_no in (select emp_no from salaries where to_date="9999-01-01")
group by t.emp_no
order by growth asc

全部评论

相关推荐

强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务