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

  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;