脚本库
暂无图片 点赞
收藏
执行
SQL挑战赛第一期
根据给定数据,按序号seqno累计,上月累计金额=amount+上月累计金额,但是如果上月累计金额是正值,就不计入下个月,重新累计。
2253
16
暂无图片 0
0
2022-11-21
/*原始数据*/ drop table test_tab purge; create table test_tab as ( select 1 as seqno,50 as amount from dual union all select 2 as seqno,-100 as amount from dual union all select 3 as seqno,20 as amount from dual union all select 4 as seqno,50 as amount from dual union all select 5 as seqno,-20 as amount from dual union all select 6 as seqno,-30 as amount from dual union all select 7 as seqno,40 as amount from dual union all select 8 as seqno,100 as amount from dual union all select 9 as seqno,20 as amount from dual union all select 10 as seqno,-70 as amount from dual union all select 11 as seqno,40 as amount from dual );

要求
按序号seqno累计
上月累计金额=amount+上月累计金额
但是如果上月累计金额是正值,就不计入下个月,重新累计,结果如下:

SEQNO AMOUNT TOT_AMOUNT 1 50 50 2 -100 -100 3 20 -80 4 50 -30 5 -20 -50 6 -30 -80 7 40 -40 8 100 60 9 20 20 10 -70 -70 11 40 -30

评论