MySQL递归查询:如何获取用户的全部下级信息
假设我们有一个名为'users'的表,其中每个用户都有一个唯一的ID和一个'parent_id',表示该用户的直接上级ID。我们可以使用递归查询来查找用户的所有下级信息。
WITH RECURSIVE subordinates AS (
SELECT * FROM users WHERE id = ?
UNION
SELECT u.* FROM users u
JOIN subordinates s ON s.id = u.parent_id
)
SELECT * FROM subordinates;
在上面的代码中,我们使用了CTE(Common Table Expression)和递归查询来获取给定用户的所有下级信息。我们首先选择给定用户的行,然后递归地选择该用户的所有直接下级,直到没有更多下级为止。
请注意,上面的代码中的'?'应该被替换为要查询下级信息的用户的ID。
原文地址: https://www.cveoy.top/t/topic/nc9T 著作权归作者所有。请勿转载和采集!