读书人

求一sql查询思路

发布时间: 2012-03-02 14:40:28 作者: rapoo

求一sql查询思路,在线等~~~
例表:
table1
字段1 year int
地段2 value int

字段1数值为1994~2005的四位数字对应年,
每一年对应一个数字,

现在我想查询按年累加的同时sum(value),

year value
1994 10
1995 15
1996 20

查出来应该是这样
year value
1994 10
1995 25
1996 45

请问写这个查询的思路是什么呢?最好用一个sql实现,谢谢大家了~~!!!


[解决办法]
create table T([year] int, value int)
insert T select 1994, 10
union all select 1995, 15
union all select 1996, 20

select [year], value=(select sum(value) from T where [year] <=A.[year]) from T as A

--result
year value
----------- -----------
1994 10
1995 25
1996 45

(3 row(s) affected)
[解决办法]
select year, value=sum(value) from tbName a where year <a.year group by year
[解决办法]
--环境
create table yearvalue
(
[year] int,
value int
)

insert into yearvalue select 1994, 10
insert into yearvalue select 1995, 15
insert into yearvalue select 1996, 20

--语句
select [year],value = (select sum(value) from yearvalue where [year] <= a.[year] )
from yearvalue a

--结果
199410
199525
199645

[解决办法]
select [year], value=(select sum(value)/(select count(*) from T as B where B.[year] <=A.[year]) from T where [year] <=A.[year]) from T as A

读书人网 >SQL Server

热点推荐