给出每个员工每年薪水涨幅超过5000的员工编号,薪水变更开始日期以及薪水涨幅值,并按照薪水涨幅值逆序排列。

给出每个员工每年薪水涨幅超过5000的员工编号emp_no

http://www.nowcoder.com/questionTerminal/eb9b13e5257744db8265aa73de04fd44

由薪水涨幅值可知要求后一年的工资减去前一年的工资并且大于5000,于是想到可使用两张表使用join连接起来,然后取每条记录的两个工资相减,连接条件是员工号相同,s2表是s1表的后一年,且s2表工资减s1表的工资大于5000,最后加上薪水涨幅值的逆序排序条件即可

select s1.emp_no,s2.from_date,(s2.salary-s1.salary) as salary_growth
from salaries s1
join salaries s2
on s1.emp_no=s2.emp_no
and (strftime('%Y', s2.to_date)-strftime('%Y', s1.to_date))=1
and (s2.salary-s1.salary)>5000
order by salary_growth desc;
全部评论
考虑到员工入职时间可能短于1年,strftime('%Y', s2.to_date)-strftime('%Y', s1.to_date)<=1 会不会更完善?
点赞 回复 分享
发布于 2021-01-05 17:42

相关推荐

04-08 13:31
已编辑
门头沟学院 前端工程师
D0cC:京东营收1万多亿人民币,阿里9000多亿,虽然他俩利润都没腾讯和字节多,但是很恐怖了啊,负担了多少打工人的薪水
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
04-17 10:16
门头沟学院 Java
小浪_coder:24届很难找了,马上25的都毕业了还有很多没找到的
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务