Postgres - 检索最后一个子层次结构
Postgres - retrieve last child hierarchy
假设我有以下 DDL:
CREATE table foo(id integer primary key, parent_id integer);
insert into foo values(1,null);
insert into foo values(2,null);
insert into foo values(3,2);
insert into foo values(4,2);
insert into foo values(5,4);
我只需要检索层次结构的最后一级,一个项目可以有多个子项,这样我只需要检索 ID 为 1
、3
和 [=13 的行=]
使用不存在
Select *
From foo f1
Where not exists (
Select 1
From foo f2
Where f2.parent_id = f1.id
)
假设我有以下 DDL:
CREATE table foo(id integer primary key, parent_id integer);
insert into foo values(1,null);
insert into foo values(2,null);
insert into foo values(3,2);
insert into foo values(4,2);
insert into foo values(5,4);
我只需要检索层次结构的最后一级,一个项目可以有多个子项,这样我只需要检索 ID 为 1
、3
和 [=13 的行=]
使用不存在
Select *
From foo f1
Where not exists (
Select 1
From foo f2
Where f2.parent_id = f1.id
)