1

1 つのクエリで、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

これを正しく行う方法を知っている人はいますか?

4

1 に答える 1

3
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 (…)
于 2009-11-09T14:12:30.133 に答える