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

标签 php mysql codeigniter datetime aggregate-functions

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

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

除最近的事件外,我能够获取上述所有数据。

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 表中

最佳答案

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

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

关于php - SQL 获取帖子的最新评论日期 - 论坛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32946868/

相关文章:

sql - Codeigniter 事件记录所在数组

php - SMTP 邮件未发送 - Codeigniter 电子邮件库

php - centos7上laravel和php上传问题

javascript - jQuery、ajax 和 php 网络爬虫行为异常

php - 从多个文件中提取数据

php - 使用 mySQLi 准备语句更新

php - 如何在 Codeigniter 3 中连接到 POSTGRESQL?

php - 使用 PHP 从 HTTP_Request2_Response 对象中提取数据

MySQL 递增 ID/UUID 问题

mysql - 替换整个数据库中的换行符实例