Здравствуйте, подскажите пожалуйста как дополнить мой запрос, чтобы вывести названия топиков по дате последнего сообщения в топике?
CODE ( SQL):
скопировать код в буфер обмена
SELECT topic_id, topic_subject, topic_date, topic_cat, COUNT(forum_posts.post_topic) AS count, forum_posts.post_date FROM forum_topics LEFT JOIN forum_posts ON forum_topics.topic_id = forum_posts.post_topic WHERE topic_cat = $id GROUP BY forum_topics.topic_id
сейчас этот запрос выводится в виде такой таблицы:
имя топика 1 --- количество постов в топике1 --- дата создания топика1
имя топика 2 --- количество постов в топике2--- дата создания топика2
Я хочу сгруппировать топики по дате последнего сообщения в каждом (то есть как и должно быть на нормальном форуме - самый первый топик в сиске тот, в котором недавно написали сообщение). В таблице с постами есть поле post_date типа datetime в котором дата и время написания поста. Пытаюсь вывести топики по этой дате, для чего к моему запросу вконце я пробовал приписывать разные вариации этой строчкиCODE ( SQL):
скопировать код в буфер обмена
ORDER BY forum_posts.post_date ORDER BY DATE(forum_posts.post_date) GROUP BY forum_topics.topic_id, forum_posts.post_date DESC"
. Но это не помогло. Только последний вариант с двумя критериями в груп бай отдаленно выводит то, что мне нужно, но он выводит последовательно все имена топиков согласно дате последнего сообщения в количестве, равном количеству сообщений. То есть в топике 1 3 сообщения и выводится 3 названия топика 1, потом топик 2 и так далее
|