读书人

sql语句 疑难有关问题求大仙帮忙

发布时间: 2012-12-22 12:05:06 作者: rapoo

sql语句 疑难问题求大仙帮忙
从数据看查询出有两列的数据 生成的表是第一列是从数据库取的数据 第二列是 第一列当列之前的和
2 2
1 3
4 7
22 29

这个sql怎么写啊 救命啊
[最优解释]
加入每个记录有id,而且是顺序的


SELECT f1,(SELECT SUM(f1) AS total
FROM test AS b
WHERE (id < a.id)) AS Expr1
FROM test AS a

[其他解释]
with tb(id)
as(
select 2 union all
select 1 union all
select 4 union all
select 22
),
source as(
select id,rowindex=row_number()over(order by getdate()) from tb
)
select id,(select sum(id) from source source2 where source2.rowindex<=source1.rowindex)sumid from source source1
[其他解释]
引用:
引用:加入每个记录有id,而且是顺序的



SQL code??



12345

SELECT f1,(SELECT SUM(f1) AS total FROM test AS b ……

WHERE (id <=a.id)
[其他解释]
貌似这个要用到递归
[其他解释]
引用:
with tb(id)
as(
select 2 union all
select 1 union all
select 4 union all
select 22
),
source as(
select id,rowindex=row_number()over(order by getdate()) from tb
)
select id,(selec……

我上面的数字是 举个例子 ,我想做的是这种模式
[其他解释]
引用:
引用:with tb(id)
as(
select 2 union all
select 1 union all
select 4 union all
select 22
),
source as(
select id,rowindex=row_number()over(order by getdate())……

我也只是举个例子
tb是表名,id是字段


select id,(select sum(id) from (select id,rowindex=row_number()over(order by getdate()) from tb)source2


where source2.rowindex<=source1.rowindex)sumid from (select id,rowindex=row_number()over(order by getdate()) from tb) source1
[其他解释]

引用:
加入每个记录有id,而且是顺序的



SQL code??



12345

SELECT f1,(SELECT SUM(f1) AS total FROM test AS b WHERE (id < a.id)) AS……

这个似乎 是很好的方法 我试试 看看能用不
[其他解释]
引用:
引用:加入每个记录有id,而且是顺序的



SQL code??



12345

SELECT f1,(SELECT SUM(f1) AS total FROM test AS b ……

当然可以用,只要主键有序就可以
[其他解释]
引用:
加入每个记录有id,而且是顺序的



SQL code??



12345

SELECT f1,(SELECT SUM(f1) AS total FROM test AS b WHERE (id < a.id)) AS……

方法 真的很好用 但是 数据好像 错开了一行, 这个该怎么解决呢 麻烦了 嘿嘿


[其他解释]
引用:
加入每个记录有id,而且是顺序的



SQL code??



12345

SELECT f1,(SELECT SUM(f1) AS total FROM test AS b WHERE (id < a.id)) AS……

读书人网 >.NET

热点推荐