0
SELECT * FROM f_posts 
INNER JOIN f_topics 
ON f_posts.post_topic=f_topics.topic_id
INNER JOIN f_subcategories
ON f_subcategories.scat_id=f_topics.topic_scat
ORDER BY f_posts.post_date
DESC LIMIT 0,3

我想列出前 3 个结果,由于最后 3 条评论属于同一个主题,所以我得到了 3 次同一个主题。DISTINCT 和 GROUP BY 似乎都不起作用。

4

1 回答 1

1

尝试:

SELECT p.* , t.*, s.*
FROM f_posts p
INNER JOIN (select post_topic, max(post_date) max_date
            from f_posts
            group by post_topic
            order by max_date desc LIMIT 0,3) m
        ON p.post_topic = m.post_topic and p.post_date = m.max_date
INNER JOIN f_topics t ON p.post_topic=t.topic_id
INNER JOIN f_subcategories s ON s.scat_id=t.topic_scat
ORDER BY f_posts.post_date DESC
于 2013-05-20T14:37:47.230 回答