日期:2014-05-17  浏览次数:20471 次

累加问题
SQL code

---有这样一个表
create table b
(valuess int ,
classfiy int ,
companyid int)
insert into b
select 3,1,1
union all select 4,1,1
union all select 5,1,1
union all select 5,2,1
union all select 7,2,1
union all select 5,2,1
union all select 5,3,1
union all select 7,3,1
union all select 8,3,1
union all select 4,1,2
union all select 5,1,2
union all select 5,2,2
union all select 7,2,2
union all select 5,2,2
union all select 5,3,2
union all select 7,3,2
union all select 8,3,2
----运行了这下面段出结果
select SUM(valuess)vvvvv from b y
group by companyid,classfiy
order by companyid



vvvvv
----------- 我相要的结果:vvvvv 
12 12
17 29
20 49
9 9
17 26
20 46

(6 row(s) affected) 就是将classfiy的小计再累加


------解决方案--------------------
select vvvvv=(select SUM(valuess) from b 
where companyid=y.companyid and classfiy<=y.classfiy) 
 from b y
group by companyid,classfiy
order by companyid