从帖子sql获取最新的用户评论

时间:2018-02-06 15:43:04

标签: mysql sql greatest-n-per-group

我是sql的新手。我有两个连接表,它是帖子表帖子和评论,我正在使用MySql。

Post :

id, UserName, Phone , product

Comments:

id , CommentText, post_id

我正在加入查询以加入他们

SELECT  t1.UserName , t1.Phone, t2.Comments
FROM table1 AS t1
LEFT JOIN table2 AS t2 ON (t1.id = t2.follow_id )

现在我需要显示所有唯一身份用户及其上一条评论,因此它们看起来像那样

1. User1  LastComment1
2. User2  LastComment2
3. User3  LastComment3
...

我将非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我假设两个表中的列id都是AUTO_INCREMENT PRIMARY KEY。

这个核心子查询将给你正确的答案。

<强>查询

SELECT
   Post.Username
 , Post.Phone
 , (SELECT 
     Comments.CommentText
    FROM 
     Comments
    WHERE
     Comments.post_id = Post.id
    ORDER BY 
     Comments.id DESC
    LIMIT 1
   ) 
    AS LastComment
FROM 
 Post

您可能希望在Comments.post_id上添加索引,以提高此查询的效果。