You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL如何获取两张表匹配行数?MySQL查询点赞回复数语法报错如何解决

问题原因

  • 核心语法错误触发点:Like是MySQL的保留关键字,你直接将其作为表名使用时,MySQL会默认识别为模糊匹配运算符,而非表名,直接触发语法错误。
  • 隐藏逻辑问题:你的子查询存在字段歧义,(SELECT COUNT(*) FROM Like WHERE P.Id = Id)中的未限定表的Id,数据库无法判断是点赞表的ID还是外层帖子表的ID,即使修复关键字问题也会返回错误的统计结果。
  • 优化点提示:统计结果未设置别名,后续无法直接通过字段名引用回复数、点赞数。

修正后SQL

SELECT *,
-- 统计对应主帖的回复数
(SELECT COUNT(*) FROM Post WHERE ThreadId = P.Id) AS reply_count,
-- 统计对应主帖的点赞数,保留关键字用作标识符时必须用反引号包裹
(SELECT COUNT(*) FROM `Like` WHERE `Like`.post_id = P.Id) AS like_count
FROM Post AS P
WHERE P.ThreadId = 0;

注:如果你的点赞表中关联帖子ID的字段名不是post_id,请替换为你实际的字段名即可

内容的提问来源于stack exchange,提问作者moccajoghurt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 11:06:00