2012-03-10 92 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