For the generic case of finding/aggregating all "children" below a parent, here's a pattern matching example on the EMP table, which shows the number of children under each "manager". Maybe you can use this as a template for your data
SQL> with raw_data as (
2 select lvl, empno, ename, rownum as rn
3 from ( select level as lvl, empno, ename
4 from emp
5 start with mgr is null
6 connect by mgr = prior empno
7 order siblings by empno )
8 )
9 select empno
10 , lpad(' ', (lvl-1)*2) || ename as ename
11 , reports
12 from raw_data
13 match_recognize (
14 order by rn
15 measures
16 starting_level.rn as rn
17 , starting_level.lvl as lvl
18 , starting_level.empno as empno
19 , starting_level.ename as ename
20 , count(higher_level.lvl) as reports
21 one row per match
22 after match skip to next row
23 pattern (starting_level higher_level*)
24 define higher_level as lvl > starting_level.lvl
25 )
26 order by rn;
EMPNO ENAME CHILDREN
--------- -------------------- ----------
7839 KING 13
7566 JONES 4
7788 SCOTT 1
7876 ADAMS 0
7902 FORD 1
7369 SMITH 0
7698 BLAKE 5
7499 ALLEN 0
7521 WARD 0
7654 MARTIN 0
7844 TURNER 0
7900 JAMES 0
7782 CLARK 1
7934 MILLER 0