union all 改成union也行 select emp_no,max(s1)-min(s1) growth from( select emp_no,salary s1 from salaries where from_date in(select distinct min(from_date) from salaries group by emp_no) and emp_no in(select emp_no from salaries where to_date ='9999-01-01') union all select emp_no,salary s2 from salaries where to_date ='9999-01-01' )as AB group by emp_no

order by growth asc