这是我需要的结果
这是我的结果
这是我的查询
select a.id, a.name, a.parent
from categ a left join categ b on a.parent=b.id
order by coalesce(b.name, a.name), a.name
答案 0 :(得分:2)
看起来你正试图排序:
并且您希望父母在孩子们之上排序。
因此,您需要在ORDER BY
子句中添加第三列,以便区分孩子和父母。
这适用于您的具体情况:
select a.id, a.name, a.parent
from categ a left join categ b on a.parent=b.id
order by coalesce(b.name, a.name), (b.id is not null), a.name