表结构:
bh | sj
1 | 10
2 | 22
3 | 33
不使用sql的子查询和存储过程功能,如何得出以下结果
bh | sj | sum(sj)
1 | 10 | 10
2 | 22 | 32
3 | 33 | 65
with t(bh,sj) as (
select 1,10
union all select 2,22
union all select 3,33
)
select a.bh,a.sj,SUM(b.sj) from t a
left join t b on b.bh<=a.bh
group by a.bh,a.sj
直接统计咯,既然要没有子查询的,那就给你个关联查询的
select * from tableA a
cross apply (
select (select sum(sj) from tableA where bh<=a.bh) as [sum(sj)]
) b
sum(sj) 是想实现逐月汇总吗
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632