Anda benar-benar memiliki dua jenis dalam satu permintaan terakhir Anda. Orang tua dapat mengurutkan naik atau turun tetapi anak-anak hanya dapat mengurutkan menaik.
Setelah melihat ini, saya yakin Anda bisa mendapatkan solusi dengan sesuatu seperti ini.
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;
Saya percaya logikanya masuk akal tetapi Anda harus mencari cara untuk mengganti angka pada jenis menurun karena semuanya akan 'terbalik'. (Mungkin membalikkan posisi array)