SELECT
ID.LEVEL,
DATA.*
FROM
(
SELECT
@ids AS _ids,
( SELECT @ids := GROUP_CONCAT( id ) FROM blade_dept WHERE FIND_IN_SET( parent_id, @ids ) ) AS cids,
@l := @l + 1 AS LEVEL
FROM
blade_dept,
( SELECT @ids := 1367646653837742082, @l := 0 ) b
WHERE
@ids IS NOT NULL
) ID,
blade_dept DATA
WHERE
FIND_IN_SET( DATA.id, ID._ids )
ORDER BY
LEVEL,
id
mysql 根据parentId递归查询子节点
最新推荐文章于 2024-08-19 16:10:28 发布
该查询使用了递归查询方法,通过FIND_IN_SET和GROUP_CONCAT函数,从blade_dept表中获取指定id的所有子部门及其层级信息。查询首先初始化ids和level,然后通过递归查找所有子部门id,最后按层级和id排序展示结果。
摘要由CSDN通过智能技术生成