我有一个表,我在其中存储带有父引用的成员数据
如果HU1是父母ID,我的意思是spos我如何计算HU1下带有嵌套子中间值的总中间值
例如看到HU5在HU1之下,HU6在HU5之下,那么我如何计算在父HU1之下的总嵌套MID
在这里HU1下的总计数是10我如何从sql查询中得到这个
我使用mysql 5.0
我试过了
SELECT parent.mid, COUNT(child.mid) AS child_count FROM member parent INNER JOIN member child ON child.spos = parent.mid WHERE child.spos = 'HU1' GROUP BY parent.mid;
但它只显示2而不是10
和
SELECT mid,spos,(SELECT count(unit) from member where spos=spos and spos='HU1')as totaspos from member where spos='HU1'
它也只显示2而不是10
最佳答案
我将以编程方式在数据库外部进行该操作,以获取整个表或新行,直到找不到子级为止。
已知树的最大深度是可能的,但这是非常昂贵的操作。您基本上必须将表自身连接到表的次数与最大深度相同。
关于mysql - 嵌套计数的SQL查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39098996/