在 MySQL 查询中使用 IF 条件计算评论数
利用 SQL IF 确定每篇新闻文章的批准评论数
问题:
之前的查询获取了评论计数,但即使没有与新闻文章相关的批准评论,它也返回最小值 1 .
解决方案:
纠正此问题,将 IF 条件中的 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() 函数,查询现在可以正确计算每篇新闻文章的批准评论数,如果没有批准评论,则返回 0。这可确保评论计数结果准确且一致。
以上是如何使用IF条件准确统计MySQL中批准的评论?的详细内容。更多信息请关注PHP中文网其他相关文章!