एक पुनरावर्ती क्वेरी जाने का रास्ता है:
with recursive tree as (
select node, parent, length, node as root_id
from network
where parent is null
union all
select c.node, c.parent, c.length, p.root_id
from network c
join tree p on p.node = c.parent
)
select root_id, array_agg(node) as edges_in_group, sum(length) as total_length
from tree
group by root_id;
प्रत्येक रिकर्सन में रूट नोड की आईडी रखना महत्वपूर्ण है, ताकि आप अंतिम परिणाम में उस आईडी के आधार पर समूह बना सकें।