官方的解释:  COUNT 和 SUM 是 MySQL 中的两个聚合函数,它们的主要区别在于它们计算和返回的数据类型以及其用途。

  1. COUNT:这是一个用于计算某个字段或表达式的记录数的聚合函数。它返回的是整型值,表示满足查询条件的记录数量。例如,如果你有一个名为 students 的表,并且你想要计算表中有多少条记录,你可以使用 COUNT(*) 或 COUNT(id)(假设 id 是表的主键)。
  2. SUM:这是一个用于计算某个字段的总和的聚合函数。它返回的是该字段的数据类型的总和。例如,如果你有一个 orders 表,并且你想计算表中所有订单的总金额,你可以使用 SUM(amount)。这将对 amount字段中的所有值进行求和。

总的来说,COUNT 用于计数,而 SUM 用于求和。这两个函数在处理和分析数据时非常有用,官方的解释不够清楚, 下面小编以实际mysql例子来举例说明, 帮助大家彻底理解这两个聚合函数的含义和区别

比如小编有一张表whitelist_audit, 表里面只有两个字段, 一个是id, 一个是event_level字段,均为int类型, 具体数值如下

然后分别使用聚合函数count 和sum写sql, 并执行:

1、使用聚合函数count() 的sql语句如下:

select count(event_level) from whitelist_audit -- 聚合count统计有多少条数据 一条数据就是一条所以是4条

 作用和理解记忆技巧: 聚合函数count() 是统计括号中的字段也就是event_level在这张表中有多少条, 一条就是一条, 和列event_level的具体数值无关, 没有关系, 上面能很容易的看到这种表总共也就四条数据, 所以上面执行sql语句的结果是4,聚合函数count()统计的就是有多少条数据, 和需要统计的列的具体数值无关没有关系, 记好了!!!

2、使用聚合函数sum() 的sql语句如下:

select sum(event_level) from whitelist_audit

 作用和理解记忆技巧: 聚合函数sum()是对统计的列也就是聚合函数括号中的event_level每一列的数值加在一起求和 1+2+2+0=5, 所以上面sql语句的执行结果是5, 和上面count正好是相反的, count是和event_level具体数值无关, 而sum是求和, 求需要统计的列的具体数值加在一起的和, 这样解释加上具体案例, 大家应该会清楚很多, 当然也方便理解记忆, 好了 ,今天实战文章就先到这, 我们下期再会!!!

更多推荐