问题:
您设计了一个查询来计算已批准的新闻评论文章,但它始终返回最小计数 1,即使是未经批准的文章
解决方案:
要解决此问题,请在查询中将 COUNT() 函数替换为 SUM() 函数。 SUM() 累积值,确保准确计算已批准评论的数量。
这是修改后的查询:
SELECT ccc_news . * , SUM(if(ccc_news_comments.id = 'approved', 1, 0)) AS comments FROM ccc_news LEFT JOIN ccc_news_comments ON ccc_news_comments.news_id = ccc_news.news_id WHERE `ccc_news`.`category` = 'news_layer2' AND `ccc_news`.`status` = 'Active' GROUP BY ccc_news.news_id ORDER BY ccc_news.set_order ASC LIMIT 20
通过使用 SUM(),查询现在可以准确计算已批准评论的数量与每篇新闻文章相关。
以上是为什么我的 MySQL COUNT() 查询总是返回至少 1 条评论?的详细内容。更多信息请关注PHP中文网其他相关文章!