赞
踩
Employee表中有一年的员工薪资信息,写一个sql来获得3个月内员工工资的累计总和,但不包括最近一个月
方法一,待验证
select a.Id,a.Month, sum(Salary) as cu_salary
from Employee as a
join Employee as b on a.Id=b.Id and a.Month<=b.Month
join(
select Id, max(month) as max_mon
from Employee
) as c on a.Id=c.Id and a.month between (c.max_mon-3) and (c.max_mon-1)
group by a.Id, a.Month
order by id, Month desc
方法二
select a.Id, max(B.Month) as Month, sum(B.Salary) as Salary
from Employee as a
join Employee as b
on a.Id=b.id and B.Month between (c.max_mon-3) and (c.max_mon-1)
group by a.Id, a.Month
order by id, Month desc
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。