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

标签 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
...

我将非常感谢您的帮助。

最佳答案

我假设两个表中的列 id 都是 AUTO_INCRMENT 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 上添加索引以提高此查询的性能。

关于mysql - 从帖子sql中获取最新的用户评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48646761/

相关文章:

mysql - SQL 仅选择列上具有最大值的行

MYSQL 在使用 GROUP BY 时显示不正确的行

mysql - 排序导致左连接不起作用

mysql - MySQL中的存储过程

mysql - 选择查询的计算字段错误

.net - 更新数据库记录中的单个字段时的最佳实践

sql - 计算其 parent 拥有的根的百分比

mysql - 使用 node.js 批量删除 mysql 行

mysql - 在 Laravel 中存储 32 位二进制文​​件的正确方法

sql - 避免 Oracle SQL 查询中不必要的联接