oracle 递归 求和

论坛 期权论坛 脚本     
匿名技术用户   2020-12-28 03:32   11   0

create table test( NAME varchar2(20), P_NAME varchar2(20), NUM int);
insert into test values('1','-1',3 );
insert into test values('11','1',5 );
insert into test values('111','11',6 );
insert into test values('1111','111',9 );
insert into test values('2','-1',4 );
insert into test values('21','2',7 );
insert into test values('211','21',8 );
COMMIT;
SELECT NAME, P_NAME, SUM(NUM) num
FROM (
SELECT NUM, CONNECT_BY_ROOT NAME NAME, CONNECT_BY_ROOT P_NAME P_NAME
FROM TEST S
CONNECT BY PRIOR NAME = P_NAME
--START WITH P_NAME = '-1'
)
GROUP BY NAME, P_NAME order by name;

转载于:https://www.cnblogs.com/yuncheng/archive/2013/01/31/2887247.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP