phpbb의 카테고리의 모든 주제에서 마지막 게시물 만 가져옵니다.
문제
단일 쿼리의 PHPBB 데이터베이스에서 카테고리 (Category-> Forum-> Topic-> Post)의 모든 주제의 마지막 게시물 만 가져오고 싶습니다. 현재 나는 이것을 요리했지만, 마지막 게시물만을 반환합니다.
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 (…)
제휴하지 않습니다 StackOverflow