这个问题在这里已经有答案了:
统计表中分层数据的所有子节点(3个答案)
查询树的项目计数(4个答案)
两年前关门了。
在local env(mariadb 10.2.10)中,我使用函数“no \u of \u substands”来计算当前用户有多少子体:
DELIMITER //
CREATE FUNCTION no_of_descendants (f_id INT)
RETURNS INTEGER
BEGIN
DECLARE numberOf INT;
WITH RECURSIVE descendant_users(id,parent_id) AS
(
SELECT id,parent_id
FROM app_users
WHERE id = f_id
UNION
Select sub.id, sub.parent_id
FROM app_users sub, descendant_users au
WHERE sub.parent_id = au.id
)
select count(*) INTO numberOf from descendant_users;
RETURN numberOf;
END; //
DELIMITER ;
它工作得很完美,但在客户机服务器上,5.7版中有mysql,它不支持递归语句。我不能更新到8.0,也不能安装其他工具。是否可以用mysql v5.7可以运行的方式重新生成这个查询?
暂无答案!
目前还没有任何答案,快来回答吧!