mysql sum(if())和count(if())的用法说明
目录
- mysql sum(if())和count(if())的用法
- 解析
- mysql 聚合函数 根据条件求和 sum(if())
mysql sum(if())和count(if())的用法
SELECT SUM(if(category=1,size,0)) ,COUNT(if(category=1,true,null)) FORM t_file;
解析
sum(if(category=1,size,0))
sum函数返回一个值类型的数值,如果category=1,则返回size,如果category不等于1就返回0。
count(if(category=1,true,null))
count函数返回一个布尔值类型的数值,如果category=1,返回true,如果category不等于1返回null,如果写成count(If(category=1,1,0) 则返回的全是true,也就是说全都会计数,而count()间断内容是true还是null,如果不是null就计数,如果是null就不计数。
所以count(if())的写法应该是count(if(表达式表达式,true,null));
mysql 聚合函数 根据条件求和 sum(if())
SELECT p.Id Id, p.ImgUrl ImgUrl, p.Title Title, p.ReferOutPrice ReferOutPrice, e.`Status`, SUM(IF(e.`Status`=1 OR e.`Status`=2, ed.Number,0)) FROM Product p LEFT JOIN EBOrdersDetails ed ON p.id = ed.ProductId LEFT JOIN EBOrders e ON ed.PurchaseNo = e.PurchaseNo WHERE p.StoreId = 143 AND p.`Status` >-1 GROUP BY p.Id
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
使用SQL语句统计数据时sum和count函数中使用if判断条件的讲解
首先举个栗子(不想看的话直接下面看总结): order_type:订单类型 open_id:用户唯一标识 SELECT date(create_time) AS '当天日期', sum(real_price) AS '当天总收入', sum函数中使用if判断条件:{ sum( IF (order_type = 0, real_price, 0) ) AS '当天支付收入', sum( IF (order_type = 1, real_price, 0) ) AS '当天打赏收入', } coun
-
Mysql中的count()与sum()区别详细介绍
首先创建个表说明问题 复制代码 代码如下: CREATE TABLE `result` ( `name` varchar(20) default NULL, `subject` varchar(20) default NULL, `score` tinyint(4) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 插入一些数据, 复制代码 代码如下: insert into result values ('张三','数学',90), ('张三'
-
MYSQL中有关SUM字段按条件统计使用IF函数(case)问题
今天群里有人问了个问题是这样的: 然后有群友是这样回答的 复制代码 代码如下: select name,sum(case when stype=4 then money*(-1) else money end ) as M from table group by name 我想了想,应该可以用IF函数 于是改了下 复制代码 代码如下: select name,sum(money*IF(stype=4,-1,1)) as M from table group by name 两种方式那种更效率还
-
mysql sum(if())和count(if())的用法说明
目录 mysql sum(if())和count(if())的用法 解析 mysql 聚合函数 根据条件求和 sum(if()) mysql sum(if())和count(if())的用法 SELECT SUM(if(category=1,size,0)) ,COUNT(if(category=1,true,null)) FORM t_file; 解析 sum(if(category=1,size,0)) sum函数返回一个值类型的数值,如果category=1,则返回size,如果categ
-
MySQL查询排序与查询聚合函数用法分析
本文实例讲述了MySQL查询排序与查询聚合函数用法.分享给大家供大家参考,具体如下: 排序 为了方便查看数据,可以对数据进行排序 语法: select * from 表名 order by 列1 asc|desc [,列2 asc|desc,...] 说明 将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2排序,以此类推 默认按照列值从小到大排列(asc) asc从小到大排列,即升序 desc从大到小排序,即降序 例1:查询未删除男生信息,按学号降序 select * from st
-
MySql中流程控制函数/统计函数/分组查询用法解析
路漫漫其修远兮,吾将上下而求索,又到了周末,我继续带各位看官学习回顾Mysql知识. 上次说到了流程控制函数,那就从流程控制函数来继续学习吧! #五.流程控制函数 #1.if函数:if else的效果 IF(条件表达式,成立返回1,不成立返回2) #与Java三元运算相同 SELECT IF(10>5,'大','小'); SELECT last_name,commission_pct,IF(commission_pct IS NULL,'没奖金呵呵','有奖金嘻嘻') AS 备注 FROM em
-
MySQL中distinct和count(*)的使用方法比较
首先对于MySQL的DISTINCT的关键字的一些用法: 1.在count 不重复的记录的时候能用到,比如SELECT COUNT( DISTINCT id ) FROM tablename:就是计算talbebname表中id不同的记录有多少条. 2,在需要返回记录不同的id的具体值的时候可以用,比如SELECT DISTINCT id FROM tablename:返回talbebname表中不同的id的具体的值. 3.上面的情况2对于需要返回mysql表中2列以上的结果时会有歧义,比如SE
-
MySQL中聚合函数count的使用和性能优化技巧
本文的环境是Windows 10,MySQL版本是5.7.12-log 一. 基本使用 count的基本作用是有两个: 统计某个列的数据的数量: 统计结果集的行数: 用来获取满足条件的数据的数量.但是其中有一些与使用中印象不同的情况,比如当count作用一列.多列.以及使用*来表达整行产生的效果是不同的. 示例表如下: CREATE TABLE `NewTable` ( `id` int(11) NULL DEFAULT NULL , `name` varchar(30) NULL DEFAUL
-
mysql多个left join连接查询用法分析
本文实例讲述了mysql多个left join连接查询用法.分享给大家供大家参考,具体如下: mysql查询时需要连接多个表时,比如查询订单的商品表,需要查询商品的其他信息,其他信息不在订单的商品表,需要连接其他库的表,但是连接的条件基本都是商品ID就可以了,先给一个错误语句(查询之间的嵌套,效率很低): SELECT A.order_id, A.wid, A.work_name, A.supply_price, A.sell_price, A.total_num, A.sell_profit,
-
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
本文实例讲述了Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法.分享给大家供大家参考,具体如下: demo.py(查询,取出一条数据,fetchone): from pymysql import * def main(): # 创建Connection连接 conn = connect(host='localhost',port=3306,user='root',password='mysql',database='jing_do
-
mysql中模糊查询的四种用法介绍
下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] WHERE u_name LIKE '%三%' 将会把u_name为"张三","张猫三"."三脚猫","唐三藏"等等有"三"的记录全找出来. 另外,如果需要找出u_name中既有"三"又有
-
MySQL存储过程概念、原理与常见用法详解
本文实例讲述了MySQL存储过程概念.原理与常见用法.分享给大家供大家参考,具体如下: 1.存储过程的概念 在一些语言中,如pascal,有一个概念叫"过程"procedure,和"函数"function,在php中,没有过程,只有函数. 过程:封装了若干条语句,调用时,这些封装体执行 函数:是一个有返回值的"过程" 总结:过程是一个没有返回值的函数 在MySQL中: 我们把若干条sql封装起来,起个名字 -- 过程 把此过程存储在数据库中 --
-
python中count函数简单用法
python中count函数的用法 Python count()方法 描述 Python count() 方法用于统计字符串里某个字符出现的次数.可选参数为在字符串搜索的开始与结束位置. count()方法语法: str.count(sub, start= 0,end=len(string)) 参数 sub -- 搜索的子字符串 start -- 字符串开始搜索的位置.默认为第一个字符,第一个字符索引值为0. end -- 字符串中结束搜索的位置.字符中第一个字符的索引为 0.默认为字符串的最后
随机推荐
- 用js来格式化字符串示例模仿css
- 关于img的href和src取变量及赋值的方法
- 谈谈AngularJs中的隐藏和显示
- 关于Vista下新版微软移动设备中心详解第1/2页
- 正则表达式i修饰符(大小写不敏感)
- Spring Cloud实战技巧之使用随机端口
- ASP.NET之自定义同步HTTP处理程序(图文教程)
- Android中Intent习惯用法
- 九种防MDB数据库被下载的方法小结
- C语言 数组指针详解及示例代码
- C++开发:为什么多线程读写shared_ptr要加锁的详细介绍
- MySQL中字符串函数详细介绍
- 浅谈C#多线程简单例子讲解
- php实现比较两个字符串日期大小的方法
- poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等
- Jqprint实现页面打印
- jquery zTree异步加载简单实例讲解
- Android深入浅出之Binder机制
- 详解Java 中程序内存的分析
- 全面掌握Java中的循环控制语句与条件判断语句的使用