SQL 的一个累加算法
答案:2 悬赏:0 手机版
解决时间 2021-01-23 01:44
- 提问者网友:浮克旳回音
- 2021-01-22 00:45
SQL 的一个累加算法
最佳答案
- 五星知识达人网友:白昼之月
- 2021-01-22 02:20
select t2.id,t2.a,sum(t1.a)
from t_a t1 left join t_a t2 on t1.id<=t2.id
group by t2.id,t2.a
是这个意思吗?
表名我起的叫t_a,应该和你一样,字段名也引用你的,直接运行看看结果
-----------补充----------
这个就可以显示你要求的结果啊,你是要更新b列的数据吗?你数据库是什么?
更新b列用这个
update t_a set t_a.b=s.sum_value from t_a
inner join (select t2.id,t2.a,sum(t1.a) sum_value from t_a t1 left join t_a t2 on t1.id<=t2.id
group by t2.id,t2.a) s on t_a.id=s.id and t_a.a=s.a
sqlserver下的写法,其他数据库写法可能略有出入,有问题帮你调
from t_a t1 left join t_a t2 on t1.id<=t2.id
group by t2.id,t2.a
是这个意思吗?
表名我起的叫t_a,应该和你一样,字段名也引用你的,直接运行看看结果
-----------补充----------
这个就可以显示你要求的结果啊,你是要更新b列的数据吗?你数据库是什么?
更新b列用这个
update t_a set t_a.b=s.sum_value from t_a
inner join (select t2.id,t2.a,sum(t1.a) sum_value from t_a t1 left join t_a t2 on t1.id<=t2.id
group by t2.id,t2.a) s on t_a.id=s.id and t_a.a=s.a
sqlserver下的写法,其他数据库写法可能略有出入,有问题帮你调
全部回答
- 1楼网友:酒醒三更
- 2021-01-22 02:40
--粗率的写一下,提供个思路,仅供参考,提示,存储过程
select "A".id, "A".A,
case when "B" id is null then "A".A
else "A".A + "B".B end
as "B"
from 表 "A"
left join 表 "B"
on "A".id = "B".id - 1
select "A".id, "A".A,
case when "B" id is null then "A".A
else "A".A + "B".B end
as "B"
from 表 "A"
left join 表 "B"
on "A".id = "B".id - 1
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯