Возьмите только последний пост из всех тем в категории от PHPBB

StackOverflow https://stackoverflow.com/questions/1701148

  •  19-09-2019
  •  | 
  •  

Вопрос

Я хочу получить только последний пост всех тем в категории (категория-> Forum-> Topic-> post) из базы данных PHPBB в одном запросе. В настоящее время я приготовил это, но он возвращает только первый пост, а не последний.

SELECT *, MAX(p.post_id)
FROM phpbb_forums f, phpbb_topics t, phpbb_posts p
WHERE f.parent_id IN (<categories>)
AND t.forum_id = f.forum_id
AND p.topic_id = t.topic_id
GROUP BY p.topic_id

Кто -нибудь знает, как правильно это сделать?

Это было полезно?

Решение

SELECT  *
FROM    phpbb_forums f
JOIN    phpbb_topics t
ON      t.forum_id = f.forum_id
JOIN    phpbb_posts p
ON      p.post_id = 
        (
        SELECT  pi.post_id
        FROM    phpbb_posts pi
        WHERE   pi.topic_id = t.topic_id
        ORDER BY
                pi.date DESC
        LIMIT 1
        )
WHERE   f.parent_id IN (…)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top