繁体   English   中英

从一个到多个mysql关系中选择有序和唯一值

[英]Selecting ordered and unique values from one to many mysql relationship

我想选择最新的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然而,我得到了正确的顺序,但有重复的主题。 我想得到正确的订单,没有重复的主题,但我不知道如何?

您可以在t_topics上使用group by子句而不是Distinct。 topic_id 查询是:SELECT t_topics topic_idt_topics .topic_title FROM t_topicst_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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM