MySQL understøtter ikke rekursive forespørgsler, så hvis et barn kan få børn, er der ingen måde at formulere en sådan forespørgsel på. Ellers skulle denne forespørgsel returnere rækkerne i den rækkefølge, du har brug for:
SELECT * FROM tablename
ORDER BY
CASE WHEN parent_id=0 THEN id ELSE parent_id END,
id
Se venligst violin her
. Tricket er at sortere rækker efter id
hvis det er en forælder eller efter parent_id
hvis det er et barn, og derefter efter id
.