Хорошо, вот что сработало для меня:
$ brew update
$ brew uninstall node
$ brew install node
$ sudo brew postinstall node #This what the important step
Вы можете использовать выражение в ORDER BY. Попробуйте следующее:
SELECT *
FROM comments
ORDER BY IF(ParentId = 0, Id, ParentId), Id
Сначала выполняется сортировка по Id, если ParentId = 0, или по ParentId в противном случае. Второй критерий сортировки - это идентификатор, чтобы гарантировать, что ответы возвращаются по порядку.
Я настоятельно рекомендую вам реструктурировать схему базы данных. Основная проблема заключается в том, что вы пытаетесь относиться к комментариям и ответам как к одному и тому же, а это просто не одно и то же. Это заставляет вас задавать сложные вопросы.
Представьте, что у вас есть две таблицы: [COMMENTS: (id, text)] и ответы на комментарии в другой таблице [REPLIES (id, commentid, text)]. Если думать таким образом, проблема кажется намного проще.