Mysql使用sum()函数返回null的问题详解
mysql 问题 使用 详解 函数 返回 null sum
2023-06-13 09:19:43 时间
SUM()函数用于计算一组值或表达式的总和,SUM()函数的语法如下:
SUM(DISTINCT expression)SUM()函数是如何工作的?
如果在没有返回匹配行SELECT语句中使用SUM函数,则SUM函数返回NULL,而不是0。 DISTINCT运算符允许计算集合中的不同值。 SUM函数忽略计算中的NULL值。在项目中使用 Mysql 中的 sum() 函数求和时,调试时发现报出下面的错误信息:
sql: Scan error on column index 0, name total : converting NULL to int64 is unsupported
我相应执行的sql语句如下:
SELECT SUM(consume) as total FROM task_income WHERE consume_type=3 AND uid=20;为了找到原因,我在 Navicat 中执行了一遍出问题的sql和参数,发现结果中确实是返回了 null :
按我之前开发时的想法:
如果有相应的数据,返回求和后的值 如果没有符合条件的数据,返回 0结果,当没有符合条件的数据时却返回了 null 。
可以通过结合使用 ISNULL 或 COALESCE 函数来解决。
相应的示例如下:
SELECT IFNULL(SUM(Column1), 0) AS total FROMSELECT COALESCE(SUM(Column1), 0) AS total FROM
上面说道,使用 ISNULL 或 COALESCE 函数都可以解决为 null 的问题,那么这两个函数有什么区别呢?
ISNULL 函数接受两个参数,如果第一个参数不是 null 会直接返回,如果第一个参数是 null ,则返回第二个参数 COALESCE 函数可以接受两个或多个参数,并返回第一个非 null 的参数,如果所有参数都为 null,则会返回 null How do I get SUM function in MySQL to return 0 if no values are found? Stack Overflow sql What is the difference bewteen ifnull and coalesce in mysql? Stack Overflow到此这篇关于Mysql使用sum()函数返回null问题的文章就介绍到这了,更多相关Mysql用sum()返回null内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 Mysql使用sum()函数返回null的问题详解
相关文章
- MySQL:一键解锁——使用索引加锁表(mysql加索引锁表)
- MySQL自动更新技术,让数据保持最新(mysql自动更新数据)
- MySQL安装位置:如何找到?(查看mysql安装位置)
- MySQL:使用全库备份命令实现数据安全(mysql全库备份命令)
- MySQL中如何实现多字段的分组查询(mysql多个字段分组)
- MySQL数据库备份:简单使用MySQL命令(备份mysql命令)
- MySQL中的NOW函数:驱动时间序列操作(mysql的now函数)
- 数据MySQL实现获取前一天数据的技巧(mysql获取前一天)
- MySQL交叉连接:深度挖掘数据之道(mysql交叉连接)
- 文件使用 MySQL 导出 SQL 文件的步骤(mysql转储sql)
- MySQL插入数据时出现乱码问题怎么办?(mysql插库乱码)
- 使用 MySQL 在线安装,实现轻松部署(mysql 在线安装)
- 如何快速安装MySQL?视频指南等你来学!(安装mysql视频)
- 25字中文文章标题:MySQL使用的原则和注意事项(mysql原则)
- 掌握MySQL中的limit限制,优化查询效率(mysql中了limit)
- MySQL中使用SUM AS函数进行求和操作(mysql中sum as)
- MySQL中AS的使用方法(mysql中as用法)
- MySQL中AS的作用是什么(mysql中as是干嘛的)
- CAD技术与MySQL数据库的融合(cad与mysql)
- 数据库使用CMD登录本地MySQL数据库的简易指南(cmd登录本地mysql)
- 基于NET的MySQL数据库开发实践(.net中使用mysql)
- MySQL的三种同步模式解析(mysql三种同步模式)
- MySQL中创建三个表实现学生管理(mysql 三个表 学生)
- 预告MySQL将在下个月的这一天更新(mysql 下个月的今天)
- MySQL 为什么不能使用 8 版本(mysql不能用8吗)
- MySQL精度问题,存储时无法保存毫秒(mysql不能保存毫秒)
- mysql多次调用存储过程的问题