en supposant que votre table s'appelle cats, essayez ceci :
select * from cats
order by
case when parentid = 0 then id else parentid end,
case when parentid = 0 then 0 else id end
Mise à jour pour inclure le moment où le parent aurait un identifiant supérieur à celui des enfants