查找员工编号emp_no为10001其自入职以来的薪水salary涨幅值growth
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`))
我的方法:
select
(sum(case when to_date= (select max(to_date) from salaries where emp_no=10001) then salary else 0 end)
-sum(case when to_date = (select min(to_date) from salaries where emp_no=10001) then salary else 0 end) )
as growth
from salaries
where salaries.emp_no='10001'
group by emp_no
方法2:
select
(select salary
from salaries where salaries.emp_no='10001'
and to_date=(SELECT max(to_date) FROM salaries WHERE emp_no=10001))
-salary growth
from salaries where salaries.emp_no='10001'
and
to_date=(SELECT MIN(to_date) FROM salaries WHERE emp_no=10001);