mysql - 关联同一个表中的两列

标签 mysql sql join

我有一个 MySQL 查询,它应该计算对您的评论的回复数量以及与其他列的关系。

我尝试将两列“关联”在一起,但不知道如何创建正确的查询。

表格看起来像这样:

<表类=“s-表”> <标题> author_id 内容 comment_id 回复了 <正文> 12 好帖子! 1 0 7 不是吗? 2 1 12 肯定 3 2 4 我不太喜欢它 4 0 7 这是为什么? 5 4 11 请详细说明 6 4

因此,要了解有多少回复,我们需要将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/

相关文章:

java - 从java代码创建带有用户名和密码的mysql数据库

mysql - Golang 和 MySQL - 管理连接

mysql - 使用 GROUP BY 时选择特定行

mysql - 从考勤表中报告 N 次或多次连续缺席的 SQL 查询

sql - 选择表中的所有表,其中表 1 中的列存在于另一个表中,第二列等于第二个表中的变量

mysql - 联合与内连接,mysql错误

SQL 加入 ID 和日期

r - 连接系统 R 中的两个或多个数据帧

php - 当两个查询相互依赖并且第二个查询失败时处理错误?

php - 使用 PHP 和 MySQL 的基本但安全的登录系统遇到问题