create table User_Salary (UserName nvarchar(200), Month nvarchar(20), Salary int)
go
insert into User_Salary (UserName,Month,Salary ) values('AAA','2010/12',1000)
insert into User_Salary (UserName,Month,Salary ) values('AAA','2011/01',2000)
insert into User_Salary (UserName,Month,Salary ) values('AAA','2011/02',3000)
insert into User_Salary (UserName,Month,Salary ) values('BBB','2010/12',2000)
insert into User_Salary (UserName,Month,Salary ) values('BBB','2011/01',2500)
insert into User_Salary (UserName,Month,Salary ) values('BBB','2011/02',2500)
上面是原表格,想实现成(UserName相同,根据日期降序进行汇总,即汇总日期小于此行日期且UserName相同所有数据),如下图
该如何写SQL语句
select u.*
,(select SUM(salary) from User_Salary where User_Salary.Month<=u.month and User_Salary.UserName = u.userName) as 总和
from User_Salary u
select u.*
,(select SUM(salary) from User_Salary where User_Salary.Month>=u.month and User_Salary.UserName = u.userName) as 总和
from User_Salary u
这个才是按照降序来的