SELECT *
FROM `comments`
WHERE `parent_id` = NULL
OR `parent_id` IN (
SELECT `id` FROM `comments` WHERE `parent_id` =NULL)
AkyHa_MaTaTa
ты и меня смутил. но я понял в чем суть.
сначала вложенный запрос выбирает все комментарии первого уровня (как раз лимита на это я и не могу поставить)
затем основной запрос выбирает опять комментарии первого уровня (где парент_ид НУЛЛ) - это кстати совсем лишнее И выбирает комментарии второго уровня, у которых парент_ид лежит в области тех ид, что выбраны в самом начале.
убираем из основного запроса "WHERE `parent_id` = NULL", и каким-то образом добавляем лимит во вложенный запрос - вот то что необходимо для того, чтобы выбрать только нужные комменты и ВСЕ их подкомменты.