用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

原文地址:https://www.cnblogs.com/legendjslc/p/6170940.html