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
[其他解释]
WHERE (id <=a.id)
[其他解释]
貌似这个要用到递归
[其他解释]
我上面的数字是 举个例子 ,我想做的是这种模式
[其他解释]
我也只是举个例子
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
[其他解释]
这个似乎 是很好的方法 我试试 看看能用不
[其他解释]
当然可以用,只要主键有序就可以
[其他解释]
方法 真的很好用 但是 数据好像 错开了一行, 这个该怎么解决呢 麻烦了 嘿嘿
[其他解释]