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

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

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

全部评论

相关推荐

秋盈丶:后续:我在宿舍群里和大学同学分享了这事儿,我好兄弟气不过把他挂到某脉上了,10w+阅读量几百条评论,直接干成精品贴子,爽
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务