我有一个表,代表一个简单的父级->子级层次结构,如下所示:
Table "public.transactions" Column | Type | Modifiers -----------+---------------+----------------------------------------------------------- id | integer | not null default nextval('transactions_id_seq'::regclass) parent_id | integer | not null default 0 amount | numeric(15,4) | not null default 0.0000
我想显示子交易(其parent_id> 0的交易)分组在其各自父项下方的表。例如,
parent child child parent child parent parent
(注意:嵌套空间仅在此处用于直观地表示层次结构,查询结果不需要它们)
我可以在单个查询中执行此操作吗?我正在运行Postgresql 9.3以防万一。
对于 单层嵌套 ,这似乎几乎是微不足道的:
SELECT * FROM transactions ORDER BY COALESCE(parent_id, id), id