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

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

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

这题比较需要注意的两点是

  1. 这个入职以来的薪水涨幅是用最后工资-入职工资算出来的,而不是最大工资减去最小工资
  2. 要求的是在职员工,所以离职日志需要是9999年
#查出某个用户的入职日期,和最后离职的日期
# select emp_no,min(from_date),max(to_date) from `salaries` group by emp_no;
#查出某个用户的入职工资和最后离职时候的工资
select t.emp_no,(max(salary) - min(salary)) growth from `salaries` s join (
    select emp_no,min(from_date) from_date,max(to_date) to_date from `salaries` group by emp_no
) t on s.emp_no = t.emp_no
where Year(t.to_date) = 9999 and
(s.from_date = t.from_date or s.to_date = t.to_date) 
group by t.emp_no order by growth;
全部评论

相关推荐

10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
孤寡孤寡的牛牛很热情:为什么我2本9硕投了很多,都是简历或者挂,难道那个恶心人的测评真的得认真做吗
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务