永发信息网

SQL如何实现:同列数据逐行相加?

答案:2  悬赏:60  手机版
解决时间 2021-11-07 15:48
  • 提问者网友:戎马万世
  • 2021-11-07 07:16
SQL如何实现:同列数据逐行相加?
最佳答案
  • 五星知识达人网友:十年萤火照君眠
  • 2021-11-07 07:44
给一个DB2的
SELECt t2.A, SUM(t1.A)
FROM (SELECt a, ROW_NUMBER() OVER(ORDER BY A) RK from tab) t1, (SELECt a, ROW_NUMBER() OVER(ORDER BY A) RK from tab) t2
WHERe t1.rk <= t2.rk
group by t2.a
ORDER BY T2.A

-------------------------
....+....1....+....2....+....3....+....4....+....5
A SUM ( T1 . A )
11.25 11.25
25.25 36.50
50.00 86.50
60.00 146.50

ORACLE最好办
SELECt t2.A, SUM(t1.A)
FROM (SELECt a, rownum RK from tab) t1
(SELECt a, rownum RK from tab) t2
WHERe t1.rk <= t2.rk
group by t2.a
ORDER BY T2.A

关键是求得行号

如果你所有的数据都是唯一的,并且是递增排列了,那也有另外一个办法的
SELECt t2.a, sum(t1.a)
FROM TAB t1, tab t2
WHERe t1.a <= t2.a
group by t2.a
全部回答
  • 1楼网友:空山清雨
  • 2021-11-07 07:59
declare @i1 float
declare @i2 float
set @i1=0
set @i2=0
update table1 set @i1=@i2,@i2=[A]+@i1,[B]=@i2
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯