SQL 获取帖子的最新评论日期 - 论坛

Posted

技术标签:

【中文标题】SQL 获取帖子的最新评论日期 - 论坛【英文标题】:SQL to get Latest comment date for a post - Discussion Forum 【发布时间】:2016-01-02 00:10:35 【问题描述】:

我正在开发一个讨论论坛网站。当您打开论坛时,网络服务会获取所有活动帖子。

标题、评论数、近期活动(最新评论的日期)、发布者、状态。

我能够获得上述所有数据,除了最近的活动。

SELECT 
  `post`.`id`, 
  `post`.`title`,
  `post`.`description`, 
  `post`.`created`, 
  COUNT(`comment_text`) AS `num_comments`,
  `users`.`name`, 
  `users`.`nick_name`, 
  `users`.`profile_picture` 
FROM `post`
JOIN `users` ON `users`.`id` = `post`.`user_id` 
JOIN `posttype` ON `posttype`.`id` = `post`.`post_type_id` 
LEFT JOIN `comments` ON `comments`.`post_id` = `post`.`id` 
WHERE `post_type` = 'Discussion'
GROUP BY `post`.`id`

如何修改此 SQL 以获得最新的评论日期?

comment_datecomments 表中

【问题讨论】:

您可以使用 ORDER BY comments.comment_id DESC 【参考方案1】:

使用 MAX(comment_date) 与使用 COUNT(comment_text) 的方式相同,以获取每个 GROUP BY post.id 组中所有 cmets 的最新日期。

小心,您正在利用 mysql 非标准扩展 GROUP BY。在您的情况下,扩展可能会导致您的结果集包含来自users 表的您无法预测的信息。读这个。 http://dev.mysql.com/doc/refman/5.6/en/group-by-handling.html

【讨论】:

以上是关于SQL 获取帖子的最新评论日期 - 论坛的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL 查询 - 获取与帖子相关的最新评论

⭐基于bootstap-Jquery-JSP-Servlet-mysql⭐博客项目——后台论坛管理demo

⭐基于bootstap-Jquery-JSP-Servlet-mysql⭐博客项目——后台论坛管理demo

循环获取 Wordpress 页面的“最新评论日期”

如何获取用户在 SQL 或 Ruby 中评论的页面上的最新评论?

论坛的SQL回复表怎么设计