首页 > 数据库 > mysql教程 > 如何使用 SUM() 准确统计 MySQL 查询中的条件实例?

如何使用 SUM() 准确统计 MySQL 查询中的条件实例?

Patricia Arquette
发布: 2024-11-28 09:29:11
原创
798 人浏览过

How to Accurately Count Conditional Instances in MySQL Queries Using SUM()?

在 MySQL 查询中使用 IF 条件统计评论

在某些场景下,需要根据预定义条件。例如,您可能需要计算与已批准显示的新闻文章相关的评论数。然而,当尝试使用 MySQL 中的 COUNT() 函数完成此任务时,会出现一个常见问题。

COUNT() 的问题

COUNT() 函数MySQL 中返回满足指定条件的行数。但是,在计算特定实例(例如批准的评论)时,即使不存在匹配的行,通过分配默认值 1 也可能会产生不准确的结果。

要解决此问题并获得精确的计数,建议使用 SUM() 函数代替 COUNT()。

解决方案使用SUM()

SUM() 函数通过对表中所有行的指定表达式的值求和来进行运算。与 IF 条件结合使用时,它可以准确地统计满足特定条件的实例数量。

例如,以下 MySQL 查询利用 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() 函数,此查询可确保评论列准确显示已批准评论的数量,从而防止将默认值 1 错误地分配给具有以下内容的行:没有匹配的评论。

以上是如何使用 SUM() 准确统计 MySQL 查询中的条件实例?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板