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>
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)