根据id向下查询所有自己,包括当前id
SELECT ID.LEVEL,DATA.*FROM (SELECT @ids AS _ids,(SELECT @ids := GROUP_CONCAT(id)FROM 表名WHERE FIND_IN_SET(父级 id字段, @ids)) AS cids,@l := @l + 1 AS LEVELFROM 表名,(SELECT @ids := '条件id', @l := 0) bWHERE @ids IS NOT NULL) ID,表名 DATAWHERE FIND_IN_SET(DATA.id, ID._ids)ORDER BY LEVEL,id
实例
SELECT ID.LEVEL,DATA.*FROM (SELECT @ids AS _ids,(SELECT @ids := GROUP_CONCAT(id)FROM org_department_dictionaryWHERE FIND_IN_SET(fatherid, @ids)) AS cids,@l := @l + 1 AS LEVELFROM org_department_dictionary,(SELECT @ids := '1771', @l := 0) b @ids IS NOT NULL) ID,org_department_dictionary DATAWHERE FIND_IN_SET(DATA.id, ID._ids)ORDER BY LEVEL,id
