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

[复制链接]
查看11 | 回复1 | 2011-1-4 10:24:02 | 显示全部楼层 |阅读模式
由于项目上报表需求,需要按地区统计每个地区产生的工单数,地区是有上下级关系的,比如省级的,需要将下面市级的也统计进去。
问题来了,
selectcount(*)num,xzqh from ywgl_xzqh
where level 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
7FROM
8test_tree b;

ID P_IDVALUESUM_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)
2FROM (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
)
6GROUP BY root_id;

ROOT_ID SUM(VALUE)
---------- ----------
1 36
2 23
3 10
4
2
5
7
6
8
7
5

7 rows selected
回复

使用道具 举报

千问 | 2011-1-4 10:24:02 | 显示全部楼层
多谢楼上大师指教!
数据库是9i,似乎用不了CONNECT_BY_ROOT,第2句应该是需要10g以上版本吧
[ 本帖最后由 zhoujiongfield 于 2010-8-27 21:44 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行