0
点赞
收藏
分享

微信扫一扫

Oracle与Mysql中 count()、sum()、avg() 计算过程中对null的计算

凶猛的小白兔 2022-02-20 阅读 127

记录数据库某列有空值(Null)时Oracle与Mysql分别有没有统计空值。

一、Mysql数据库

1.Mysql表
在这里插入图片描述

2.查询结果
在这里插入图片描述

结果:通过对id,age字段的查询可以发现,当某列中存在Null时在一个函数内(比如图中的 sum(id)+sum(age) 不在一个函数内,计算结果统计了存在Null的行数据)统计过程中是不统计为Null的整行数据的。

二、Oracle数据库

1.Oracle表
在这里插入图片描述

2.查询结果
在这里插入图片描述
结果:与Mysql执行结果是一样的。

总结:无论是Oracel还是Mysql数据库,在执行count()、sum()、avg()时会有以下情况:

查询情况是否统计null
count(*/1)当为*或者1时,统计null
count(列名)只要存在null,均不会统计null
sum(列名)只要列中存在null,均不会统计null
sum(列n+列m)列n,列m任意一列中存在null时,均不会统计存在null的数据行
avg(列名)只要列中存在null,均不会统计null
avg(列n+列m)列n,列m任意一列中存在null时,均不会统计存在null的数据行
举报

相关推荐

0 条评论