[英]Sort a tree data structure
您需要遞歸查詢才能遍歷樹。 要在每個級別上正確應用displayorder
,還需要收集每個節點的路徑,以使排序成為可能:
with recursive all_nodes as (
select id, name, parentid, displayorder, array[id] as path
from tree
where parentid is null
union all
select c.id, c.name, c.parentid, c.displayorder, p.path||c.id
from tree c
join all_nodes p on c.parentid = p.id
)
select id, name
from all_nodes
order by path, displayorder;
在線示例: http : //rextester.com/MJEL66144
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.