MySQL中sum和count用法总结
MySQL中sum和count用法总结
- 1.sum
- 2.count
- 例子:要求:查询出2门及2门以上不及格者的平均成绩。
- 3、MySQL 分组之后如何统计记录条数 gourp by 之后的 count()
- 例子
- 4、sum mysql select 横向展示
- 例子1
- 纵向展示
- 横向展示
- 例子2:
1.sum
(1)sum()函数里面的参数是列名的时候,是计算列名的值的相加,而不是有值项的总数。
(2)sum(条件表达式),如果记录满足条件表达式就加1,统计满足条件的行数
2.count
(1)COUNT()函数里面的参数是列名的的时候,那么会计算有值项的次数。(NULL 不计入, 但是’'值计入)
(2)COUNT(*)可以计算出行数,包括null
(3)COUNT(1)也可以计算出行数,1在这里代表一行
(4)COUNT(column_name)对特定的列的值具有的行数进行计算,不包含NULL值
(5)COUNT(条件表达式),不管记录是否满足条件表达式,只要非NULL就加1
例子:要求:查询出2门及2门以上不及格者的平均成绩。
经常会用两种查询语句有两种:第1个正确,第2个错误
1.select name,sum(score < 60) ,avg(score) from result group by name having sum(score<60) >=2;
2.select name ,count((score<60)!=0) as a,avg(score) from result group by name having a >=2;
3、MySQL 分组之后如何统计记录条数 gourp by 之后的 count()
SELECT count(*) FROM 表名 WHERE 条件 // 这样查出来的是总记录条
SELECT count(*) FROM 表名 WHERE 条件 GROUP BY id //这样统计的会是每组的记录条数.
例子
select count() from(SELECT count() FROM 表名 WHERE 条件 GROUP BY id ) a ;
SELECT count() FROM (SELECT COUNT() FROM
papa_stadium_goods_storage_record
WHEREc_time
>=1474560000 andc_time
<1476201600 group byrecord_type
) a
注意:子查询方式,MySQL中子结果集必须使用别名,而Oracle中不需要特意加别名!
4、sum mysql select 横向展示
例子1
DROP TABLE IF EXISTS `tongji`;create table tongji(tyear varchar(255),tmonth int,amount double)Engine=Innodb default charset=utf8;insert into tongji values('2011',1,1.1),('2011',2,1.2),('2011',3,1.3),('2011',4,1.4),('2012',1,2.1),('2012',2,2.2),('2012',3,2.3),('2012',4,2.4);
纵向展示
select * from tongji;
横向展示
SELECT t.tyear , sum(if(t.tmonth=1,t.amount,null )) as 'm1' ,sum(if(t.tmonth=2,t.amount,null )) as 'm2' ,sum(if(t.tmonth=3,t.amount,null )) as 'm3' ,sum(if(t.tmonth=4,t.amount,null )) as 'm4'
FROM tongji t GROUP BY (t.tyear);
null 就是if 判断结果为else的时候返回 null。 语法格式是这样的: if(条件, 为true, 为false)
核心知识点:如果这里去掉sum()函数,查询的记录,会是下面这种结果,这是因为group语句分组的时候,存在一条对应多条记录的时候,只会显示一条,对应的多条会被覆盖,所以会出现这种结果
SELECT distribution_order_username as distributionOrderUsername,sum(if(a.chat_status=1,count,0)) as 'dtgwx' ,sum(if(a.chat_status=2,count,0)) as 'khjj' ,sum(if(a.chat_status=3,count,0)) as 'wjt' ,sum(if(a.chat_status=4,count,0)) as 'dhf',sum(if(a.chat_status=5,count,0)) as 'wlx',sum(if(a.chat_status=6,count,0)) as 'yjwx',sum(if(a.chat_status,count,0)) as 'total'FROMSELECT distribution_order_username as distributionOrderUsername,sum(if(a.buyctiyid=440100,count,0)) as 'gz',sum(if(a.buyctiyid=440300,count,0)) as 'sz' ,sum(if(a.buyctiyid=441900,count,0)) as 'dg' ,sum(if(a.buyctiyid in (440100,440300,441900),count,0)) as 'total'FROM
例子2:
select DATE_FORMAT(created_time,'%Y-%m-%d') as '日期',
sum(if(product='毛巾',price,0)) as '毛巾',
sum(if(product='枕头',price,0)) as '枕头'
from trade
GROUP BY DATE_FORMAT(created_time,'%Y-%m-%d');
MySQL中sum和count用法总结相关推荐
- mysql中sum和count的区别
sum()函数和count()函数的区别 其实两者很好容易区分,sum,即求和,多个列相加的和; count计数,一共有多少条数据 sum()函数求累加; 对符合条件的记录的数值列求和; count( ...
- MySQL笔记7:sum和count用法总结
MySQL中sum和count用法总结 1.sum (1)sum()函数里面的参数是列名的时候,是计算列名的值的相加,而不是有值项的总数. (2)sum(条件表达式),如果记录满足条件表达式就加1,统 ...
- MySQL中ESCAPE关键字的用法详解
MySQL中ESCAPE关键字的用法详解 MySQL中ESCAPE关键字的用法详解 1. mysql转义概述 2. escape验证 MySQL中ESCAPE关键字的用法详解 1. mysql转义概述 ...
- mysql 中set函数的用法
mysql 中set函数的用法 :当值为空时不进行赋值 update user_user <set><if test="nickname!=null and nicknam ...
- Mysql中where和having用法及区别
1.Mysql中Having和Where用法 当SQL语句中使用聚合函数,然后又需要对聚合函数的记录集进行筛选过滤时,这个时候就需要用到Having子句.如果是在聚合函数前过滤记录用Where,在聚合 ...
- MySQL中只会count(),sum()?累加运算没听过?
点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 码农小胖哥 来源 | 公众号「码农小胖哥」 01 前言 接了一个需求,产品想分析一 ...
- mysql count的用法_155、MySQL入门(五):SUM and COUNT用法
Sqlzoo习题练习:SUM and COUNT 下面为SUM and COUNT习题内容: 知识点: SUM() 函数 SUM 函数返回数值列的总数(总额). SUM() 语法 SELECT SUM ...
- MySQL中聚合函数count的使用和性能优化
本文将探讨以下问题 1.count(*) . count(n).count(null)与count(fieldName) 2.distinct 与 count 连用 3.group by (多个字段) ...
- mysql中replace函数的用法
##-----MySQL数据替换即replace的运用-----## #这里主要介绍一些关于replace函数的用法.关于研究这个主要是发现replace功能很强大 #对于屏蔽关键字很有用处. #现在 ...
最新文章
- Nginx —— 用HTTP proxy module配置一个反向代理服务器
- ajax正则验证p标签显示,JQuery+Ajax实现唯一性验证、正则
- 网站二次开发如何防止别人打包源码_面试官:你说你对Kafka比较熟?看过源码吗?...
- 工作203:实现预览效果
- vim nerdtree 标签_7款vim插件
- 这家武汉工厂如果停工,全球都不答应
- 前端2018年12月9日 前端开发路上的小白心得--励志当个领路人
- python透明图处理_python – 强制matplotlib图的背景是透明的
- pythongui项目实例_python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例...
- 个人博客作业-Week2 (代码规范, 代码复审)
- CentOS6.5配置网易163做yum源
- poj 2649 Factovisors
- 3. SQL 语句本身的优化(慢查询)
- 奇妙生活-神奇的数字-1的故事
- eclipse中文包和控制台中文显示乱码
- 论文写作笔记4 期刊选择-医学计算机
- [渝粤教育] 南京中医药大学 诊断学技能训练 参考 资料
- CGAL预定义内核转换的问题
- 弹性布局(骰子六个面制作)
- c#上位机plc通讯读位