Nếu những người không có cha mẹ có null
trong parent
của chúng , câu lệnh của bạn sẽ rất đơn giản:
SELECT id, name, parent FROM categories order by coalesce(parent, id), id;
Nếu bạn nhấn mạnh vào 0
không đại diện cho cha mẹ, bạn có thể sử dụng chi tiết hơn CASE WHEN ... THEN ...
tuyên bố.
Chỉnh sửa:
-- Sorting by name instead
select a.id, a.name, a.parent
from categories a left join categories b on a.parent=b.id
order by coalesce(b.name, a.name), a.name