首页 > 代码库 > 用SYS_CONNECT_BY_PATH进行层级查询时的排序问题

用SYS_CONNECT_BY_PATH进行层级查询时的排序问题

 

 

用SYS_CONNECT_BY_PATH进行层级查询时, 对同一级别的节点进行排序,可以加order SIBLINGS by 子句实现

WITH N2 AS(    SELECT n.ID, org."ParentID", n."NodeName", n."Sort" FROM "Organize" org    LEFT JOIN "Node" n ON n."ID"=org."NodeID"    WHERE n."DeleteTime" IS NULL AND n."RefreshTime" is NULL    ORDER BY "ParentID", "Sort" ASC)    SELECT "ID",   "ParentID", "NodeName",     SYS_CONNECT_BY_PATH("ID",\)   ID_PATH, SYS_CONNECT_BY_PATH("NodeName",\)  NAME_PATH, LEVEL, "Sort"    FROM N2    START   WITH "ParentID"=# OR "ParentID" IS NULL    CONNECT BY PRIOR "ID"="ParentID"    order SIBLINGS by "Sort" ASC

 

参考文献:https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:1154964870586

用SYS_CONNECT_BY_PATH进行层级查询时的排序问题