Медленная сортировка по дате в Mysql
Уберите GROUP BY `posts`.`id`
Я бы на Вашем месте изменил бы структуру страницы posts. На сколько я понимаю табличка users Вам нужна для отображения имени автора поста, я бы добавил в табличку posts нужные поля ( имя автора, может рейтинг поста, нужные в общем), и не соединял бы остальные таблички, но в таким случае нужно при обновлении других таблиц смотреть и посты. Работать будет в разы быстрей, но внимания нужно будет тоже больше уделить изменениям.