我有一个表,我在其中存储带有父引用的成员数据

mysql - 嵌套计数的SQL查询-LMLPHP

如果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/

10-12 06:06