`
flyfox1982
  • 浏览: 80798 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

mysql NULL 值求和问题

阅读更多

 

今天一个同事问我一个问题,他执行一条如下的求和的sql语句:

 

  1. select sum(a + b + c + d),sum (a),sum(b),sum(c),sum(d) from T ;  

 

结果是:11,3,5,3,5,也就是 放在一块求和分别求和,结果不一致, 刚一看问
题,也觉得挺奇怪,但是马上想到了这么一个问题,是不是a,b,c,d 中有null 的
情况,查看他的数据表后,发现果然a,b,c,d 有存在 null 的情况,就可以解释
为什么会出现不一致的情况。
首先,我们可以测试执行下:

  1. mysql> select 1 + null;  
  2. +----------+  
  3. | 1 + null |  
  4. +----------+  
  5. |     NULL |  
  6. +----------+  

返回结构就是NULL。
所以对于表格T中任何一条数据,只要a,b,c,d中有一个存在null 的数据, a + b + c + d 都会变成null,而在求和运输中,null 会别忽略,这就导致了上面的求和不一致。

分享到:
评论

相关推荐

    mysql求和函数使用示例

    `SUM()`函数会忽略非数字值(例如,空值NULL)和非数值类型的数据。如果你的列中包含非数值数据,`SUM()`函数将只对数值类型的行进行计算。 在提供的代码示例中,我们看到一个使用`SUM()`函数的例子: ```php $sql...

    mysql varchar类型求和实例操作

    假设我们的`age`列中有一些带有小数的值,我们可以这样求和: ```sql SELECT SUM(CAST(age AS DECIMAL)) FROM your_table; ``` 或者使用`CONVERT()`: ```sql SELECT SUM(CONVERT(age, DECIMAL)) FROM your_table...

    Mysql函数手册.rar_MySQL函数手册_VZI_mysql 函数手册

    6. 集合函数:如COUNT()统计数量,SUM()求和,AVG()计算平均值,MIN()和MAX()找出最小和最大值。 7. 位操作函数:如BIT_AND()、BIT_OR()和BIT_XOR()用于进行二进制位运算。 8. 信息函数:如DATABASE()返回当前...

    mysql入门.md

    1、以上五个分组函数都忽略null值,除了count(*) 2、sum和avg一般用于处理数值型 max、min、count可以处理任何数据类型 3、都可以搭配distinct使用,用于统计去重后的结果 4、count的参数可以支持: 字段、*...

    java-servlet-连接mysql-数据库.docx

    确保这些值与你的MySQL实例设置匹配。 3. **配置Web应用**: 除了服务器配置,Web应用自身的配置文件`WEB-INF/web.xml`也需要更新。这里,你需要定义一个Servlet或Filter来处理数据库连接。通常,你会声明一个...

    MySQL聚合函数.docx

    总的来说,MySQL的聚合函数提供了强大的数据分析能力,帮助用户从大量数据中提取关键信息,无论是统计数量、计算平均值、求和还是查找极值,都能轻松应对。在实际的数据处理和报表生成中,熟练掌握这些函数的用法至...

    MySQL数据库设计与应用考试答案.docx

    9. NULL值比较:在MySQL中,两个NULL值的比较应该使用`<=>`运算符,它会返回TRUE如果两个值都为NULL。 10. while循环与if语句:在这个while循环中,如果`i 为真,并且`n`是`i`的整数倍,那么`if n % i = 0`将被执行...

    mysql-function.rar_mysql pdf

    聚合函数用于对一组值进行计算,如`COUNT()` 计算数量,`SUM()` 求和,`AVG()` 计算平均值,`MIN()` 和`MAX()` 找出最小和最大值。 七、系统信息查询函数 最后,MySQL还提供了获取系统信息和元数据的函数,如`...

    MySql面试题.doc

    以下是一些MySQL面试中的常见问题及其详细解答: 1. 数据库是什么? 数据库是一个用于存储和管理数据的系统,它允许组织、检索、更新和删除数据,确保数据的完整性和一致性。 2. 数据库的优点? - 方便检索:...

    mysql基本操作指令

    MySQL提供了一系列聚合函数,如`COUNT()`计算记录数,`SUM()`求和,`AVG()`计算平均值,`MAX()`和`MIN()`找出最大最小值。 八、存储过程和函数 存储过程是一组预编译的SQL语句,可以减少网络流量并提高性能。函数是...

    mysql函数

    例如,在数据分析中,我们可以用SUM()和AVG()函数进行求和与平均值计算;在报表生成时,DATE_FORMAT()和GROUP BY结合可以实现按日期分组的数据展示。 了解并熟练使用MySQL函数对于任何从事数据库管理和开发工作的...

    深入了解MySQL数据库

    - 如COUNT(计数)、SUM(求和)、AVG(平均值)、MAX(最大值)、MIN(最小值)等聚合函数。 #### 图形化工具的使用 - **MySQL Administrator:** - 用于管理MySQL服务器,包括连接管理、健康检查、备份管理和...

    MySQL命令大全

    MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列 4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度 5.BLOB TEXT类型,最大长度为(2^16-1)个字符。 6...

    mysql第五章.pdf

    其中,COUNT()用于计数,SUM()用于求和,AVG()用于计算平均值,MAX()和MIN()用于找出最大值和最小值。 4. 多表连接:在数据库中,表之间往往存在关联关系,需要将多个表的数据结合在一起进行查询。多表连接包括内...

    将MSSQL改写为MYSQL的经验

    - MySQL提供了`AVG()`(平均值)、`COUNT()`(计数)、`MAX()`(最大值)、`MIN()`(最小值)、`SUM()`(求和)等聚合函数,这些函数可以帮助我们统计分析数据。 12. **SQL语句关键字** - SQL的基本结构包括:`...

    MySQL数据库设计与应用考试答案.pdf

    9. 在MySQL中,比较两个NULL值时,使用`<=>`运算符,而不是`=`, `==`或`<>`。 10. 给定的while循环和if语句块是用来检测是否n是i的因子。如果i小于n且n能被i整除,yn被设置为0,然后离开循环。因此,当条件满足时,...

    MYSQL基础 超级详细

    8. SQL内置函数和计算:如`COUNT()`计数,`SUM()`求和,`AVG()`平均值,`MAX()`最大值,`MIN()`最小值。 9. 子查询:嵌套查询,如`SELECT column FROM table WHERE column IN (SELECT column FROM another_table)`. ...

    大数据知识点mysql数据库

    * 处理 null 值:Select 列名 from 表名 where 列名 is null/is not null; * 排序查询:Select 列名 from 表名 order by 列名 asc/desc; * 分组查询:Select 分组的列名 from 表名 group by 列名; * Having 条件筛选...

    mysql 入门笔记 简单易学。一小时上手

    6. 检测NULL值:在WHERE子句中,使用 <=> 运算符可以检测字段值是否为NULL,而IS NULL可以用来判断某个字段是否为空。 7. 分组查询:使用GROUP BY子句按照一个或多个列对结果集进行分组,并且可以应用聚合函数对每...

Global site tag (gtag.js) - Google Analytics