Попробуй так
SELECT n.*, COUNT(c.id_news) AS comment_count FROM news AS n
LEFT JOIN comments AS c ON c.id_news = n.id
GROUP BY `n`.`id`
ORDER BY `n`.`id` DESC
LIMIT 20 Попробуй так
SELECT n.*, COUNT(c.id_news) AS comment_count FROM news AS n
LEFT JOIN comments AS c ON c.id_news = n.id
GROUP BY `n`.`id`
ORDER BY `n`.`id` DESC
LIMIT 20