W ostatnim zapytaniu naprawdę masz dwa rodzaje w jednym. Rodzice mogą sortować rosnąco lub malejąco, ale dzieci mogą sortować tylko rosnąco.
Po zapoznaniu się z tym uważam, że dzięki temu możesz uzyskać rozwiązanie.
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;
Uważam, że logika jest słuszna, ale musisz wymyślić, jak zastąpić liczby w malejących sortach, ponieważ wszystko będzie „do góry nogami”. (Może odwrócić pozycje tablicy)