【发布时间】:2019-08-02 09:31:41
【问题描述】:
我有一个表,其中包含几个具有父记录的记录,如下所示。并非所有人都有父记录。
id | parent_id
--------------
1 | 0
2 | 0
3 | 1
4 | 0
5 | 0
6 | 0
7 | 5
我希望记录的顺序是先父后子:
id | parent_id
--------------
1 | 0
3 | 1
2 | 0
4 | 0
5 | 0
7 | 5
6 | 0
如何在不使用存储过程的情况下使用 SQL 查询来实现这一点?
我正在使用 postgres。
【问题讨论】:
-
不相关,但是:存储
0而不是null来表示“没有父级”是一个坏主意。这会阻止您使用正确的外键约束 -
您的示例恰好暗示了 1 级层次结构。是这样吗?并正确执行?
标签: sql postgresql hierarchical-data