oracle 递归 分组,关于递归查询的分组统计问题

是要累加对吧,比如id=1下面包含所有的子节点和自身统计,也就是统计每个子树和,根不要就用WHERE CONNECT_BY_ISLEAF=1过滤

SQL> SELECT id,p_id,value,

2  ( SELECT SUM(value) FROM

3   test_tree a

4   START WITH a.id=b.id

5   CONNECT BY PRIOR a.id=a.p_id

6  ) sum_sal

7  FROM

8  test_tree b;

ID       P_ID      VALUE    SUM_SAL

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

1          0          3         36

2          1          6         23

3          1          5         10

4          2          2          2

5          2          7          7

6          2          8          8

7          3          5          5

7 rows selected

SQL>

SQL> SELECT root_id,SUM(value)

2    FROM (select CONNECT_BY_ROOT a.id root_id,p_id,value

3            from test_tree a

4          CONNECT BY PRIOR id = a.p_id

5          )

6  GROUP BY root_id;

ROOT_ID SUM(VALUE)

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

1         36

2         23

3         10

4          2

5          7

6          8

7          5

7 rows selected

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值