向下递归查询
SELECT ID,NAME,PARENT_ID,LEVEL_FROM(SELECT @ID AS _IDS,(SELECT @ID := GROUP_CONCAT(ID)FROM TREE_TABLE WHERE FIND_IN_SET(PARENT_ID,@ID) > 0AND REMOVE = 'N') T1,@L := @L + 1 AS LEVEL_FROM TREE_TABLE,(SELECT @ID := 'start', @L:= 0) T2WHERE @ID IS NOT NULL) T3,TREE_TABLE T4WHERE FIND_IN_SET(T4.ID,T3._IDS) > 0
ORDER BY T3.LEVEL_,T4.SORT
start为开始递归的父ID,LEVEL为层级,SORT为原来表里的排序字段。