从另一个表中选择最近一行

时间:2012-10-16 00:42:20

标签: mysql sql

我正在建立一个基本论坛,我想抓住创建的主题列表,但也从帖子表中抓取most recent post,这样我就可以显示last reply and time of last reply

我的尝试如何导致重复结果,我尝试了LEFT JOININNER JOIN具有相同的结果。我希望有人知道解决方案。

这是我的尝试:

SELECT  t1.username as thread_starter,
        t2.username as last_reply_username,
        t1.thread_time as thread_start,
        t2.post_time as last_reply_time,
        t1.title,
        t1.sticky 
FROM threads t1
     INNER JOIN posts t2
        ON t1.id = t2.threadid
ORDER BY t1.sticky DESC, t2.post_time DESC

有没有人知道如何解决问题所以它只会从post表中获取与每个线程相关的最后和最近的帖子而不返回重复的线程?

1 个答案:

答案 0 :(得分:2)

下面的查询背后的想法是它从子查询中的每个post_time的{​​{1}}表中找到最新的帖子(post)。然后它连接回原始表threadidpost表。

threads