56,687
社区成员
发帖
与我相关
我的任务
分享
SELECT ID.level, DATA.* FROM(
SELECT
@ids as _ids,
( SELECT @ids := GROUP_CONCAT(id) FROM table1 WHERE FIND_IN_SET(parent_id, @ids) ) as cids,
@l := @l+1 as level
FROM table1, (SELECT @ids :='1', @l := 0 ) b
) id, table1 DATA
WHERE FIND_IN_SET(DATA.id, ID._ids)
ORDER BY level, id;