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

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

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-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务