在phpbb3中,我想选择最新的10个有效主题。即最后有帖子的话题。在PHPbb3架构中,表topics
有许多posts
。为了实现这一点,我尝试了以下SQL
SELECT DISTINCT (`t_topics`.`topic_id`), `t_topics`.topic_title FROM
`t_topics` , `t_posts` WHERE `t_posts`.topic_id = `t_topics`.topic_id
ORDER BY `t_posts`.post_id DESC LIMIT 10;
然而,有一个话题我确信它有最新的帖子,它出现在记录的末尾。
我尝试删除DISTINCT
但是,我得到了正确的顺序,但有重复的主题。我希望得到正确的订单,没有重复的主题,但我不知道怎么做?
答案 0 :(得分:0)
您可以在t_topics
。topic_id
上使用group by子句而不是Distinct。
查询是:SELECT t_topics
。topic_id
,t_topics
。topic_title FROM t_topics
,t_posts
WHERE t_posts
。topic_id = t_topics
。 topic_id GROUP BY t_topics
。topic_id
ORDER BY t_posts
。post_id DESC LIMIT 10;