2009-11-09 58 views
1

我想只抓取單個查詢中phpbb數據庫中類別(Category-> 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 

有誰知道如何正確地做到這一點?

回答

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 (…) 
相關問題