显示最近评论的帖子,没有重复的帖子应该显示

时间:2017-01-08 11:40:54

标签: php mysql post

我有一张桌子,我想从哪里获得最新的评论评论,但是当我按功能使用group时它显示我的错误.. 我不想显示重复的记录

下面是表格和查询..

SELECT * FROM `dev_web_comments` GROUP BY rID

我通过此查询得到的结果如下,但我希望对于rID 41应该显示最新评论。像最新的评论是“这是测试

enter image description here

原始表格如下

enter image description here

2 个答案:

答案 0 :(得分:1)

您需要加入自己并返回最长日期。它也适用于最新的ID。

SELECT * 
FROM dev_web_comments AS d1
INNER JOIN (
    SELECT rID, MAX(cDate) AS maxDate
    FROM dev_web_comments 
    GROUP BY rID) AS d2 ON d2.rID = d1.rID AND d2.maxDate = d1.cDate 
GROUP BY d1.rID

您可以按照您想要的任何字段进行订购。

答案 1 :(得分:1)

在我看来,您可以获取每个不同cID值的最新评论的rID值,如下所示:

                        SELECT MAX(cID) cID, rID
                          FROM dev_web_comments
                         GROUP BY rID

这是基于这样的假设:每个新注释都由插入表中的一行表示,cID列是一个自动增量列。

这意味着您可以获取每个rID的最新评论的详细信息

    SELECT a.cID, a.rID, a.wID, a.commentContent, a.cDate, a.wwID
      FROM dev_web_comments
      JOIN (
                        SELECT MAX(cID) cID, rID
                          FROM dev_web_comments
                         GROUP BY rID
           ) b ON a.cID = b.cID 

您问题中的查询表明您有陷入臭名昭着的MySQL GROUP BY陷阱的危险。不要那样做。读这个。 https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html

相关问题