Postgres - 检索最后一个子层次结构



假设我有以下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 为 135 的行

不存在使用

 Select *
 From foo f1
 Where not exists (
    Select 1
    From foo f2
    Where f2.parent_id = f1.id
 )

最新更新