首页 > 数据库技术 > 详细

Mysql中使用聚合函数对null值的处理

时间:2014-10-29 21:25:19      阅读:1081      评论:0      收藏:0      [点我收藏+]

      平时因为对于数据库研习的不深,所以在面试的时候问了一些平常遇到过的问题居然没法很肯定地回答出来,实在让自己很恼怒!

      这次让我记忆深刻的一个问题是:

      在mysql中使用聚合函数的时候比如avg(t),t是表中一个类型int型的字段,可为null,有三行数据,三行中的数据分别为:10,null,20,请问最后的结果是什么?

      我的回答是15,在面试结束之后我尝试了一下结果没错,不过我对于聚集函数对null的处理貌似错了,我认为是聚合函数会将null值看作0,找了一番,博客中都认为是忽略null值,因为没有找到官方的说明文档的说明,只好先认同博客中各位牛人所说的啦!如果有人找到了,麻烦给我个地址,感激不尽!

      下面是自己尝试的结果图(注意count函数,这有个特例):


 

      avg函数:

bubuko.com,布布扣

 

图一

 

 

bubuko.com,布布扣

图二


        count函数:使用count(*)

bubuko.com,布布扣

图三

 

 

bubuko.com,布布扣

图四

 

         count函数:使用count(xx),即使用特定的字段名

 

bubuko.com,布布扣

图五

 

 

bubuko.com,布布扣

图六

  


         经过自己的测试,在mysql 5.6环境下除了count(*)为特例(不忽略null值)外,其余聚集函数确实是忽略null值(如果大牛们都没错的话)!

 

Mysql中使用聚合函数对null值的处理

原文:http://www.cnblogs.com/liaochong/p/sqlavg.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!