mysql数据库之count()函数和sum()函数用法及区别说明
mysql数据库之count()函数和sum()函数用法及区别说明
mysql数据库之count()函数和sum()函数用法及区别说明
更新时间:2023年06月19日 10:56:36 作者:
这篇文章主要介绍了mysql数据库之count()函数和sum()函数用法及区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
mysql之count()和sum()用法及区别
1、mysql 数据库中 count() 函数是统计查询结果中的行数,例如我们有下表 :

使用 count() 函数来查询结果个数,使用如下查询:
mysql > select count(*) from user_auth ;
注意的是,count 会忽略掉 NULL 的结果, 所以 count(字段名) 这样使用的话,如果字段中包含为null的结果,将导致查询结果不准确mysql count,我们将表中数据更改如下:

此时查询:
mysql > select count(user_id) from user_auth;
结果如下:

2、mysql 中 sum() 函数用于计算某一字段中所有行的数值之和( sum 求和时会对 null 进行过滤mysql数据库之count()函数和sum()函数用法及区别说明,不计算)mysql数据库之count()函数和sum()函数用法及区别说明,例如如下查询:
mysql > select sum(user_id) from user_auth;
结果如下:
另外也能使用 sum(条件) 进行对符合条件的结果行数进行求和,如下查询:
mysql > select sum(user_id is null),sum(aid = 1) from user_auth;
结果如下:
需要注意的是,如果在没有返回行中使用 sum() 函数,sum 函数的返回值为 null,不是 0,例:
mysql > select sum(user_id) from user_auth where id not in (2,4,6);
结果如下:
此时使用JDBC或者一些第三方框架进行映射时就会报错,
解决办法是:
使用(sum(),0) 或者 (sum(),0) 进行结果的转换。

mysql中sum()和count()函数按条件统计数据sum()函数
一般求和
select sum(money) from user group by id;
按条件求和 (对所有金额大于100的数据进行求和)
select sum(if(money>=100,money,0)) from user group by id;
聚合函数中如果想汇总某一类数据的数量,可以在括号中增加条件:
sum(case when 字段>0 then 1 else 0 end) as 字段
count()函数
要注意的是:count(case when 字段>0 then 1 else 0 end) as 字段,这样写的话
count函数不管记录内容是0或1,它的作用只是计算记录数,计算出来的是0和1的全部次数,如果你要计算次数,用sum(case when 字段>0 then 1 else 0 end) as 字段
或者你用 count(case when 字段>0 then 1 else null end) as 字段 这种写法
基本原理是 使用了数据库count(null)时返回的是0 ,count(非null)返回是1
SQL的执行顺序总结
以上为个人经验mysql countmysql count,希望能给大家一个参考,也希望大家多多支持脚本之家。
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299
资源库 - 资源分享下载网 » mysql数据库之count()函数和sum()函数用法及区别说明
常见问题FAQ
- 关于资源售价和售后服务的说明?
- 代码有没有售后服务和技术支持?
- 有没有搭建服务?
- 链接地址失效了怎么办?
- 关于解压密码

