求大神帮忙,怎么将树结构某一字段值分组求和

月冷千书 2018-01-09 10:21:39


这样为一组


得到类似这样的结果集
ORG_BNAME sum
长沙市局 12131
株洲市局 8213
湘潭市局 8423
.............

sum 是 每一组 ent_count 字段 值的 和
...全文
1060 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigdata-sb 2018-01-21
  • 打赏
  • 举报
回复
4楼精神, 完美的解决方案
月冷千书 2018-01-10
  • 打赏
  • 举报
回复
此贴终结,已经搞定了,就是效率比较慢,之后有待优化
     SELECT TMP.ID,TMP.ORG_CODE,TMP.PARENT_ID,TMP.ORG_BNAME,TMP.ENT_COUNT,TMP.ORG_FNAME,
(SELECT SUM(T2.ENT_COUNT) FROM ENT_REP_ORG T2 START WITH T2.ORG_CODE = TMP.ORG_CODE connect by prior T2.ORG_CODE= T2.PARENT_ID) as 总和
FROM
(
SELECT T1.ID,T1.ORG_CODE,T1.PARENT_ID,T1.ORG_BNAME,T1.ORG_FNAME,T1.ENT_COUNT
FROM ENT_REP_ORG T1
WHERE T1.ENT_COUNT <> 0 and T1.PARENT_ID <> 0
START WITH T1.ORG_CODE = '430000000000'
CONNECT BY PRIOR T1.ORG_CODE= T1.PARENT_ID
)TMP
WHERE TMP.PARENT_ID = '430000000000'
ORDER BY TMP.ORG_CODE


结果集如下
月冷千书 2018-01-10
  • 打赏
  • 举报
回复
数据是瞎写的, 主要是需要把每组中 的ent_count 字段值求和, 然后以父节点名称展示出来 结果集就是需要这两个字段 org_name ent_count
chengccy 2018-01-10
  • 打赏
  • 举报
回复
你写的太绕了
SELECT ORG_BNAME, SUM(ENT_COUNT)
FROM   (SELECT CONNECT_BY_ROOT(T1.ORG_BNAME) AS ORG_BNAME, T1.ENT_COUNT
         FROM   ENT_REP_ORG T1
         START  WITH T1.ORG_CODE = '430000000000'
         CONNECT BY PRIOR T1.ORG_CODE = T1.PARENT_ID) TMP
GROUP  BY ORG_BNAME
碧水幽幽泉 2018-01-09
  • 打赏
  • 举报
回复
ORG_BNAME sum 长沙市局 12131 株洲市局 8213 湘潭市局 8423 这个结果是如何来的? 没看明白!

17,134

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧