首页 >数据库 >mysql教程 >为什么我的 MySQL COUNT() 查询总是返回至少 1 条评论?

为什么我的 MySQL COUNT() 查询总是返回至少 1 条评论?

Linda Hamilton
Linda Hamilton原创
2024-12-01 16:32:14192浏览

Why Does My MySQL COUNT() Query Always Return at Least 1 Comment?

使用 MySQL 的 IF 条件计算评论

问题:

您设计了一个查询来计算已批准的新闻评论文章,但它始终返回最小计数 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn