文档章节

mysql中sum()函数相减结果为空的处理

Ethel_oo
 Ethel_oo
发布于 04/20 21:22
字数 186
阅读 32
收藏 1

问题描述

我有两张表,一张工资表income,消费表payment,需要SQL查询出某一个人在本月的消费余额。当消费表记录为空或者工资表记录为空时,两个sum()函数相减MySQL显示结果为空值。

问题原因

没有做判断空值的处理。

解决方法

1、先把两张表中的金额字段的默认值设为0。 2、在运算的时候使用ifnull()函数判断是否为空,为空的话设为0值。

SELECT
(
	SELECT
		ifnull(sum(in_amount), 0)
	FROM
		income
	WHERE
		userid = ''
	AND DATE_FORMAT(in_date, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
) - (
	SELECT
		ifnull(sum(pay_amount), 0)
	FROM
		payment
	WHERE
		userid = ''
	AND DATE_FORMAT(pay_date, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
) AS result;

© 著作权归作者所有

共有 人打赏支持
Ethel_oo
粉丝 4
博文 19
码字总数 9928
作品 0
蚌埠
程序员
SQL语句中SUM函数返回NULL的解决办法

SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL。 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例...

红薯
2009/02/12
4.2K
4
关于SQL语句中SUM函数返回NULL的解决办法

SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL。 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例...

Zhao-Qian
2015/06/29
0
0
Mysql日期函数

MySQL 为日期增加一个时间间隔:dateadd() set @dt = now(); select dateadd(@dt , interval 1 day); - 加1天 select dateadd(@dt , interval 1 hour); -加1小时 select dateadd(@dt , inter......

小城故事_
2016/02/26
114
0
mysql加减时间-函数-时间加减

mysql加减时间-函数-时间加减 1. MySQL 为日期增加一个时间间隔:date_add() set @dt = now(); select date_add(@dt, interval 1 day); - 加1天 select date_add(@dt, interval 1 hour); -加......

技术小胖子
2017/11/10
0
0
SQL面试:知识点与技巧

【写在前面】 作为一个无推广的小博主,之前的文章收到了很多读者的热爱,在此多谢大家的支持。最近发现国内剽窃现象很严重啊……如果您对我的文章有兴趣,想要转载请先经过我的同意,要不然...

数据女侠
2017/09/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

防止快速重复点击的两种思维

防止重复执行的两种思维 场景 下单时,提交按钮,因为网络卡顿或者手快重复点击,导致重复提交订单; 微博,更新个人状态或发表评论时,快速多次点击[发送]按钮,导致相同的信息发送多次. 解决思路 ...

黄威
38分钟前
0
0
在windows环境下使用Virtualbox虚拟Debian系统来运行Docker

标题绕口。 我之前一直使用 Virtualbox 和 homestead 来运行我的 PHP 开发环境。最近决心开始尝试 DevOps,使得开发、部署容器化,来化解人为操作失误和环境不兼容等问题造成的各种损失。就打...

zgldh
40分钟前
0
0
python map()

map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。(利用生成器的原理,并不马上返回值,...

南桥北木
54分钟前
0
0
分享几个 SpringBoot 实用的小技巧

前言 最近分享的一些源码、框架设计的东西。我发现大家热情不是特别高,想想大多数应该还是正儿八经写代码的居多;这次就分享一点接地气的: SpringBoot 使用中的一些小技巧。 算不上多高大上...

Java干货分享
55分钟前
2
0
day123-20181021-英语流利阅读-待学习

这款新字体,比记忆面包还管用 Lala 2018-10-21 1.今日导读 字体能跟学习效果有什么关系?你还别说,来自澳洲的心理学家和设计师们,还真创造了一款号称能够帮助大家记忆信息、增强学习效果的...

飞鱼说编程
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部