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

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

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

看到很多人利用最终的工资与初始工资做减法得到增量,所以我就另辟蹊径利用窗口函数做了一版,需要注意的是窗口函数的顺序腰以日期为准否则答案可能会出错,因为我们无法保证工资一直是增加的。

select 
t1.emp_no,
sum(t1.salary - t1.a) as growth
from
    (select
    emp_no,
    salary,
    lag(salary,1,0) over (partition by emp_no order by to_date ASC) as a
    from salaries
    ) as t1
where t1.a != 0
and t1.emp_no in (select distinct emp_no from salaries where to_date = "9999-01-01")
group by t1.emp_no
order by growth

全部评论

相关推荐

offer多多的六边形战士很无语:看了你的博客,感觉挺不错的,可以把你的访问量和粉丝数在简历里提一下,闪光点(仅个人意见)
点赞 评论 收藏
分享
11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务