mysql的count和sum使用条件表达式
count函数条件不为null的时候显示结果。即使为false也也会显示结果。
可以是使用if条件或者case when语句。如果条件不为null即需要的结果。
使用count()函数实现条件统计的基础是对于值为NULL的记录不计数,常用的有以下三种方式,假设统计num大于200的记录
select count(num > 200 or null) from a;
select count(if(num > 200, 1, null)) from a
select count(case when num > 200 then 1 end) from a
sum函数是条件为True才返回结果。
下面结果等效
select name,COUNT(CASE WHEN score<60 THEN 1 END) as sum_score,AVG(score) as avg_sorce from tb_stu  GROUP BY name HAVING SUM(score<60)>=2;
select name,COUNT(if(score<60,1,null)) as sum_score,AVG(score) as avg_sorce from tb_stu  GROUP BY name HAVING SUM(score<60)>=2;
select name,sum(score<60) as sum_score,AVG(score) as avg_sorce from tb_stu  GROUP BY name HAVING SUM(score<60)>=2;
mysql的count和sum使用条件表达式的更多相关文章
- MySQL中count和sum使用
		count COUNT()函数里面的参数是列名的的时候,那么会计算有值项的次数.(NULL 不计入, 但是''值计入) COUNT(*)可以计算出行数,包括null COUNT(1)也可以计算出行数, ... 
- SQL中以count及sum为条件的查询
		在开发时,我们经常会遇到以“累计(count)”或是“累加(sum)”为条件的查询.比如user_num表: id user num 1 a 3 2 a 4 3 b 5 4 b 7 例1:查询出现 ... 
- SQL中以count或sum为条件的查询方式
		在开发时,我们经常会遇到以“累计(count)”或是“累加(sum)”为条件的查询.比如user_num表: id user num 1 a 3 2 a 4 3 b 5 4 b 7 例1:查询出现 ... 
- 用count(*)还是count(列名) || Mysql中的count()与sum()区别
		Mysql中的count()与sum()区别 首先创建个表说明问题 CREATE TABLE `result` ( `name` varchar(20) default NULL, `su ... 
- MYSQL 巧用count,sum进行统计数据
		SELECT a.user,count(b.order_id) as subcount,sum(if(b.verifysta='Y',1,0)) as passcount FROM vicidial_ ... 
- mysql行转列 问题 SUM(IF(条件,列值,0))
		sum(if(条件,列值,0))语法用例: select name,sum(if(subject="语文",score,0)) as "语文" from gra ... 
- [Django]模型提高部分--聚合(group by)和条件表达式+数据库函数
		前言:本文以学习记录的形式发表出来,前段时间苦于照模型聚合中group by 找了很久,官方文章中没有很明确的说出group by,但在文档中有提到!!! 正文(最后编辑于2016-11-12): 聚 ... 
- Linq查询Count、Sum、Min、Max、Average
		原文地址:Linq——Count.Sum.Min.Max.Average作者:mousekitty Linq查询之Count.Sum.Min.Max.Average using System; usi ... 
- MySQL的COUNT()函数理解
		MySQL的COUNT()函数理解 标签(空格分隔): MySQL5.7 COUNT()函数 探讨 写在前面的话 细心的朋友会在平时工作和学习中,可以看到MySQL的COUNT()函数有多种不同的参数 ... 
随机推荐
- OneinStack – 一键PHP/JAVA安装工具
			https://oneinstack.com/ OneinStack包含以下组合:lnmp(Linux + Nginx+ MySQL+ PHP) lamp(Linux + Apache+ MySQL+ ... 
- 微信小程序中weui使用方法
			1.git下载,找到dist文件: https://github.com/wechat-miniprogram/weui-miniprogram 2.把dist文件中的style复制到根目录 app. ... 
- vue-Elementui引入
			安装命令 npm install --save element-ui 可以直接复制官网的引用,复制到main.js里面:就可以忽略下面所有步骤 import Vue from 'vue'; impor ... 
- STM32L15x——ADC采集DMA数据只第一次正确(已解决)
			前提:我用的芯片是STM32L系列,可能对其它STM32系列不完全适用,仅供参考! 一.问题描述 我在使用DMA方式读取单ADC单通道采集的数据时,发现只能正确的采集一次数据,后来的就一直与第一次的相 ... 
- Ubuntu系统---安装搜狗输入法
			Ubuntu_搜狗输入法 第一步: 1,下载搜狗输入法的安装包. 下载地址为:http://pinyin.sogou.com/linux/ ,如下图,要选择与自己系统位数一致的安装包,我的系统是64位 ... 
- java中静态代码块,非静态代码块,构造函数
			关于静态代码块 静态代码块的写法: static { System.out.println("我是静态代码块"); } 静态代码块的特点: 1.执行优先级高于非静态的初始化块,它会 ... 
- 开启aix SFTP日志 是否和链接SFTP有关呢
			1.修改SSH配置 vi /etc/ssh/sshd_config 在sftp配置处添加-l INFO -f AUTH Subsystem sftp /usr/lib64/ssh/sftp-serve ... 
- Repeater POJ - 3768 (分形)
			Repeater POJ - 3768 Harmony is indispensible in our daily life and no one can live without it----may ... 
- VS2017 Nuget服务器搭建,简易版
			熟悉Visual Studio 的小伙伴肯定听说过“Nuget”这个词,关于Nuget是如何如何方便就不再赘述了,这里主要介绍一下如何搭建个人的Nuget服务器. 直奔主题 第一步:打开VS2017 ... 
- ACM-ICPC 2018 焦作赛区网络预赛 K. Transport Ship(DP)
			题目链接:https://nanti.jisuanke.com/t/31720 题意:有n种飞船,每种飞船有(1 << c)- 1 艘,容量为 k[i] ,q 次询问,每次询问选若干艘飞 ... 
