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

如何让SQL查询返回无评论文章的0计数?技术求助

问题分析及解决办法

你的查询之所以漏了无评论的文章,核心问题是你只从Comments表取数据——没有评论的文章在Comments表里根本没有对应的记录,不管怎么用COALESCE或者COUNT,都没法凭空把这些文章找出来。

要解决这个问题,你需要以**文章表(假设表名叫Articles,主键是articleID)**为主表,用LEFT JOIN关联Comments表,这样所有文章都会被保留,哪怕它没有评论。具体写法如下:

SELECT a.articleID, COUNT(c.commentID) AS coms
FROM Articles a
LEFT JOIN Comments c ON a.articleID = c.articleID
GROUP BY a.articleID
ORDER BY a.articleID DESC;

补充说明:

  • LEFT JOIN会保留左表(Articles)的所有行,右表(Comments)没有匹配的话,对应字段会是NULL
  • COUNT(c.commentID)会自动忽略NULL值,所以无评论的文章会得到0,不需要额外用COALESCE(如果要写也可以,比如COALESCE(COUNT(c.commentID), 0),但实际效果一致)
  • 如果你的commentID是唯一主键,用COUNT(c.commentID)和COUNT(DISTINCT c.commentID)结果一致,后者适合存在重复评论ID的场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 21:17:00