我有这样一个表,数据是一棵树:地区 人数 隶属于中国 3 null
北京 4 中国
四川 3 中国
昌平 7 北京
顺义 12 北京
绵阳 20 四川
德阳 12 四川想得出这样的结果:地区 总人数
中国 61
北京 23
四川 35
昌平 7
顺义 12
绵阳 20
德阳 12这些地区的层次不止三层,可能很多层。
每个地区都有数据。也就是非叶子节点也有数据。不能忽略。高手帮忙指点。谢谢。
北京 4 中国
四川 3 中国
昌平 7 北京
顺义 12 北京
绵阳 20 四川
德阳 12 四川想得出这样的结果:地区 总人数
中国 61
北京 23
四川 35
昌平 7
顺义 12
绵阳 20
德阳 12这些地区的层次不止三层,可能很多层。
每个地区都有数据。也就是非叶子节点也有数据。不能忽略。高手帮忙指点。谢谢。
-------------------- ---------- --------------------
中国 3
北京 4 中国
四川 3 中国
昌平 7 北京
顺义 12 北京
绵阳 20 四川
德阳 12 四川7 rows selectedselect t1.region,
(select sum(num)
from b t2
start with t1.region = t2.region
connect by prior region = partof)
from b t1SQL>
7 /REGION (SELECTSUM(NUM)FROMBT2STARTWIT
-------------------- ------------------------------
中国 61
北京 23
四川 35
昌平 7
顺义 12
绵阳 20
德阳 127 rows selected
---------- ---------- ----------
中国 3
北京 4 中国
四川 3 中国
昌平 7 北京
顺义 12 北京
绵阳 20 四川
德阳 12 四川已选择7行。已用时间: 00: 00: 00.30
SQL> select area,
2 (select sum(peo) from tt start with tt.area=t.area connect by prior tt.area=tt.bel) su
3 from tt t;AREA SU
---------- ----------
中国 61
北京 23
四川 35
昌平 7
顺义 12
绵阳 20
德阳 12已选择7行。已用时间: 00: 00: 00.30
SQL>