我有一个 MySQL 查询,它应该计算对您的评论的回复数量以及与其他列的关系。
我尝试将两列“关联”在一起,但不知道如何创建正确的查询。
表格看起来像这样:
因此,要了解您有多少回复,我们需要将reply_to 和comment_id 关联起来。但我们还需要确定comment_id和它属于谁之间的关系。
假设我是一个author_id为4的用户,有两个人回复了我的评论,分别是comment_id 5和6。查询应该返回2。
我尝试过类似的操作(这是一个不正确的查询,因为您不能执行类似 comment_id.author_id = 4 的操作):
SELECT COUNT(*) FROM comments WHERE replied_to = comment_id AND comment_id.author_id = 4;
如何处理这种查询,或者表结构是否错误,应该放在另一个表中?
最佳答案
在这种情况下使用自连接会有所帮助。
SELECT COUNT(*) AS count
FROM comments AS post
JOIN comments AS reply ON reply.replied_to = post.comment_id
WHERE post.author_id = 4;
关于mysql - 关联同一个表中的两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75189499/