哪能一群孩子和家长在单个查询?(How can I group children and paren

2019-10-19 02:09发布

我有一个表示一个简单的父 - >子层次,就像一个表:

             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的情况下,它很重要。

Answer 1:

对于嵌套的单级 ,这似乎微不足道的差不多:

SELECT *
FROM   transactions
ORDER  BY COALESCE(parent_id, id), id


文章来源: How can I group children and parents in a single query?