Bạn thực sự có hai loại trong một cho truy vấn cuối cùng của mình. Cha mẹ có thể sắp xếp tăng dần hoặc giảm dần nhưng con cái chỉ có thể sắp xếp tăng dần.
Sau khi xem xét điều này, tôi tin rằng bạn có thể tìm được giải pháp với những thứ như thế này.
order by case
when depth = 0
then path
/*
secret function that always returns the
right numbers regardless of whether or not the sort is ascending.
*/
else XXX_function('DESC', path)
end desc;
Tôi tin rằng logic là đúng đắn nhưng bạn phải tìm ra cách thay thế các số theo thứ tự giảm dần vì mọi thứ sẽ 'lộn ngược'. (Có thể đảo ngược vị trí của mảng)