MySQLは再帰クエリをサポートしていないため、子が子を持つことができる場合、そのようなクエリを作成する方法はありません。それ以外の場合、このクエリは必要な順序で行を返す必要があります:
SELECT * FROM tablename
ORDER BY
CASE WHEN parent_id=0 THEN id ELSE parent_id END,
id
フィドルid
で行を並べ替えることです。 親の場合、またはparent_id
による場合 子の場合は、id
で 。