supponendo che il tuo tavolo si chiami gatti, prova questo:
select * from cats
order by
case when parentid = 0 then id else parentid end,
case when parentid = 0 then 0 else id end
Aggiornato per includere quando il genitore avrebbe un ID maggiore rispetto ai figli