我有一张这样的表:
COL1 | COL2
------------
1 | NULL
2 | NULL
3 | NULL
4 | NULL
如何使用SQL更新具有前一行累计总数的COL2?像这样:
COL1 | COL2
------------
1 | 1
2 | 3
3 | 6
4 | 10
感谢。
答案 0 :(得分:0)
得到了我的同事的答案:(假设表名是abc)
UPDATE abc set col2 =(
SELECT temp.t from(SELECT abc.id,SUM(def.col1)as t FROM abc
as abc as def on def.id< = abc.id group by abc.id)as temp WHERE abc.id = temp.id
)
或者我们可以使用它:
将abc SELECT abc.id,r2.col1,SUM(r2.col1)替换为col2 FROM abc将abc作为r2加入r2.id< = abc.id group by abc.id