2015-10-05 75 views
3

我正在討論論壇網站上工作。當您打開論壇時,web服務會提取所有活動帖子。要獲取SQL的最新評論日期 - 論壇

標題,評論數量,近期活動(最新評論日期),發佈者,狀態。

我能夠得到除近期活動以外的所有上述數據。

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

+1

你可以使用ORDER BY'comments'.'comment_id' DESC – Suyog

回答

1

使用MAX(comment_date)你使用COUNT(comment_text)克服各GROUP BY post.id組中的所有意見的最後日期相同的方式。

請注意,您正在利用MySQL非標準擴展至GROUP BY。就你而言,擴展名可能會導致你的結果集包含你無法預測的users表中的信息。讀這個。 http://dev.mysql.com/doc/refman/5.6/en/group-by-handling.html

+0

Thanks Ollie !!! – eNeMetcH