oracle统计某一列的总和,求一sql统计所有下级的总和

如下:

SQL> with t as

2  ( select 100 userid, 0 parentid, 90 amount from dual

3    union all

4    select 110, 100, 80 from dual

5    union all

6    select 120, 110, 70 from dual

7    union all

8    select 130, 120, 60 from dual

9    union all

10    select 200, 0, 50 from dual

11    union all

12    select 210, 200, 40 from dual

13    union all

14    select 220, 210, 30 from dual

15  )

16  select  userid,

17          sum(amount) amount

18  from

19  (select CONNECT_BY_ROOT(userid) userid,

20          amount

21    from t

22  where level <> 1

23    connect by prior userid = parentid)

24  group by userid

25  order by 1;

USERID     AMOUNT

---------- ----------

100        210

110        130

120         60

200         70

210         30

SQL>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值