一个关于MYSQL IFNULL的用法
select a.receiveID,(a.num - IFNULL(b.num,0)) as num
from (SELECT num,receiveID from dog_giftnumrecord where giftID = 1) as a
left join (SELECT num,receiveID from dog_giftnumrecord where giftID = 2 ) as b
on a.receiveID = b.receiveID
--
-- 表的结构 `dog_giftnumrecord`
-- CREATE TABLE IF NOT EXISTS `dog_giftnumrecord` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '道具计数表ID',
`giftID` int(11) NOT NULL COMMENT '道具ID',
`receiveID` int(11) NOT NULL COMMENT '接受者ID',
`type` int(11) NOT NULL COMMENT '道具对应类型(1对应会员,2对应狗狗)',
`num` int(11) NOT NULL COMMENT '道具数量',
`createDate` int(11) NOT NULL COMMENT '创建时间',
`updateDate` int(11) DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ; --
-- 转存表中的数据 `dog_giftnumrecord`
-- INSERT INTO `dog_giftnumrecord` (`id`, `giftID`, `receiveID`, `type`, `num`, `createDate`, `updateDate`) VALUES
(3, 1, 138, 1, 4, 1413014344, 1413015921),
(4, 1, 139, 1, 2, 1413015942, 1413015944),
(5, 2, 139, 1, 1, 1413015946, NULL),
(6, 1, 140, 1, 3, 1413015961, 1413015963),
(7, 2, 140, 1, 2, 1413015965, 1413015967),
(8, 1, 141, 1, 3, 1413015972, 1413015973),
(9, 1, 142, 1, 1, 1413015978, NULL),
(10, 2, 142, 1, 8, 1413015980, 1413018250);
它的形式是IFNULL(fieldA,fieldB),意义是当字段fieldA是NULL时取fieldB,不是NULL时取fieldA的值。
一个关于MYSQL IFNULL的用法的更多相关文章
- MySQL IFNULL基本用法
MySQL IFNULL函数是MySQL控制流函数之一,它接受两个参数,如果不是NULL,则返回第一个参数. 否则,IFNULL函数返回第二个参数. 两个参数可以是文字值或表达式. 以下说明了IFNU ...
- MySQL IFNULL()函数用法MySQL
用法说明:IFNULL(expr1,expr2) 如果 expr1 不是 NULL,IFNULL() 返回 expr1,否则它返回 expr2. IFNULL()返回一个数字或字符串值,取决于它被使用 ...
- MySql IFNULL 联表查询出来的null 如何赋值
mysql中isnull,ifnull,nullif的用法如下: isnull(expr) 的用法:如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0.mysql> ...
- mysql group by 用法解析(详细)
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的 ...
- 对MYSQL IFNULL函数的使用进行了具体的叙述
下文对MYSQL IFNULL函数的使用进行了具体的叙述.供您參考学习.假设您在MYSQL IFNULL函数使用方面遇到过类似的问题,最好还是一看. MYSQL IFNULL(expr1,expr2) ...
- (转载)mysql group by 用法解析(详细)
(转载)http://blog.tianya.cn/blogger/post_read.asp?BlogID=4221189&PostID=47881614 mysql distinct 去重 ...
- (转载)mysql中limit用法
(转载)http://hi.baidu.com/sppeivan/item/e45179375d6778c62f8ec221 mysql中limit用法 使用查询语句的时候,经常要返回前几条或者中 ...
- MYSQL IFNULL使用功能
稍后的MYSQL IFNULL使用此功能的特定叙事,供大家参考学习,假设你MYSQL IFNULL条款的使用功能类别遇到似问题.最好看. MYSQL IFNULL(expr1,expr2) ...
- mysql 常用命令用法总结积木学院整理版
一.启动与退出 1.进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可.此时的提示符是:mysql> 2.退出MySQL: ...
随机推荐
- 框架—Mybatis入门
1:Mybatis介绍 MyBatis是一款一流的支持自定义SQL.存储过程和高级映射的一个数据持久层的框架. MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去设置参数和获取检索结果. ...
- 微信小程序:this code is a mock one
问题 微信小程序调用wx.login() 的 success 函数带的code 提示this code is a mock one 解决方法 appid和微信小程序开发工具所登陆用户管理的小程序清单不 ...
- sftp ftp文件同步方案
sftp ftp文件同步方案 1. 需求 1.1实现网关服务器的ftp服务器的/batchFileRequest目录下文件向徽商所使用的sftp服务器的/batchFileRequest目录同步文件 ...
- 拖拽功能-jquery
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- python3.6以上 asyncio模块的异步编程模型 async await语法
这是python3.6以上版本的用法,本例是python3.7.2编写使用asyncio模块的异步编程模型,生产这消费者,异步生产,用sleep来代替IO等待使用async和await语法来进行描述a ...
- day22 02 面向对象的交互
day22 02 面向对象的交互 一.三种编程方式 1.面向过程编程:核心是过程,流水线式思维 优点:极大降低了写程序的复杂程度,只需要顺着要执行的步骤,堆叠代码即可 缺点:一套流水线或者流程就用来解 ...
- VS2013环境下Boost库配置
序言 最近了解各大互联网公司的校招要求,发现了解Boost程序库也是不可或缺的一部分~ 于是,决定潜心研究下,这个准标准库~ 首先,在官网下载boost的最新版本Boost 1.59.0,这是当前的最 ...
- 大数据学习——linux常用命令(一)
一.基本日常操作命令 1 查看当前所在工作目录的全路径 pwd 2 查看当前系统的时间 date 设置时间,date -s"2018-11-12" 修改时间后,需要写入硬件bios ...
- String字符串去掉双引号
public static String stringReplace(String str) { //去掉" "号 String str= str.replace("\& ...
- https://www.cnblogs.com/freeflying/p/9950374.html
https://www.cnblogs.com/freeflying/p/9950374.html