在 MySQL 查询中使用 IF 条件进行计数
您的目标是检索新闻文章的批准评论数。但是,即使特定文章不存在评论,当前查询也会为评论列返回最小值 1。
要解决此问题,请将 count() 函数替换为 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() 函数将每个 TRUE 表达式计算为 1,将 FALSE 表达式计算为 0,从而有效地返回批准评论的总数。
此更新的查询现在提供准确的计数,显示每篇新闻文章是否已获得批准的评论。
以上是如何使用 SUM() 准确统计 MySQL 中批准的评论?的详细内容。更多信息请关注PHP中文网其他相关文章!