如何使用分组聚合函数统计数据

背景:需要统计图表中节点下属企业的数量

img

我尝试使用的聚合函数,分组出来了,但是下级节点的数量没有求和统计上

img

每个节点都对应两个企业,统计数据都为2

img

你这逻辑明显不对嘛,你查的数据是dept_id为2和3的行(限定了长度等于3),但又想要统计其他行的数据。
首先,你得先说明节点个数,是只有两个节点或者说只查特定节点?如果节点是固定的话,最简单的方法是自表关联

select a.dept_name,count(1) 
from sys_dept a,sys_dept b 
where a.dept_id=b.parent_id 
and a.parent_id =1 
group by a.dept_name

如果是节点随机,那就得用递归sql(with RECURSIVE as )来处理了,但递归sql只有8.0版本以上才支持