2012-03-10 117 views
1

我目前正在構建一個簡單的PHP + MySQL論壇,但我在獲取信息以正確的格式顯示時遇到了問題。PHP + MySQL論壇顯示

我當前的SQL代碼是

SELECT forum_posts.catId, forum_posts.postId, forum_posts.date, forum_posts.message, 
    forum_posts.userId, users.userId, users.username, forum_thread.threadId, forum_thread.subjectTitle 
    FROM forum_posts 
    LEFT JOIN forum_thread ON forum_posts.threadId = forum_thread.threadId 
    LEFT JOIN users ON users.userId = forum_posts.userId 
    GROUP BY forum_posts.catId 
    ORDER BY forum_posts.postId DESC, forum_posts.date DESC, forum_posts.catId ASC 

我的問題是,它帶回在正確的類別一切,但它帶回類別,而不是最後一個的第一個結果。

我只想讓代碼顯示每個類別中的最後一個回覆。

任何幫助非常感謝你。

回答

1

您的查詢應該返回一個範圍的行。嘗試將結果限制爲1個元素。如果您按降序對結果進行排序,您將獲得最後一個項目。

ORDER BY ... DESC LIMIT 1 

我不知道你是否找到postIddate最新的條目。如果您按日期查找,則必須使用date開始分組。 但我不明白爲什麼你只是爲了獲得一個數據集而對結果進行排序。

ORDER BY forum_posts.date DESC LIMIT 1; 

這是你想要的嗎?此外,這可以幫助你:Select last row in MySQL