数据库学习之MySQL (十一)—— 统计函数 COUNT MIN MAX AVG SUM
MySQL学习专栏 正在持续更新中:)
文章目录
- 总表 统计函数
- NULL是否影响SUM AVG的计算?
- MAX MIN 用在日期时间上会怎么样
- 这些函数用在字符串上会怎么样
- 结合上节文章案例 统计一波
- DISTINCT 关键字的应用
- COUNT 花式应用
- 预告
总表 统计函数
名称 | 英文 | 中文 | 返回值 |
---|---|---|---|
COUNT() | count | 计数 | 统计指定列不为NULL的记录行数 |
MAX() | maxium | 最大值 | 计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算 |
MIN() | minium | 最小值 | 计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算 |
SUM() | summary | 求和 | 计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0 |
AVG() | average | 平均值 | 计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0 |
NULL是否影响SUM AVG的计算?
不影响,SUM AVG内部实现了COUNT的功能。
MAX MIN 用在日期时间上会怎么样
会将时间离得更近的认为更大(因为数值大)
这些函数用在字符串上会怎么样
除了COUNT(),当然一般是不推荐的。
硬要说的话,
SUM AVG得凉,硬要放进去 就会返回没有意义的值如 0。
MIN MAX 会采用字符串排序 (STRCMP())
结合上节文章案例 统计一波
上期文章传送门:数据库学习之MySQL (十)—— 日期和时间函数 流程控制函数
上面表格的数据,统计后的结果如下:
USE data1;
SELECT MAX(`hiredate`) 最近入职时间,MIN(`hiredate`) 最老入职时间,SUM(`salary`) 最终工资总数,AVG(`salary`) 最终工资总数平均,CASEWHEN YEAR(`hiredate`) < 1996 THEN `salary` * (1+0.6+IFNULL(`commission_pct`, 0)) WHEN YEAR(`hiredate`) BETWEEN 1997 AND 2000 THEN `salary` * (1+0.4+IFNULL(`commission_pct`, 0)) WHEN YEAR(`hiredate`) BETWEEN 2001 AND 2010 THEN `salary` * (1+0.2+IFNULL(`commission_pct`, 0))WHEN YEAR(`hiredate`) BETWEEN 2011 AND 2014 THEN `salary` * (1+0.1+IFNULL(`commission_pct`, 0))ELSE `salary` * (1+0.0+IFNULL(`commission_pct`, 0))END AS 最终工资
FROMemployees
ORDER BY 最终工资 DESC ;
DISTINCT 关键字的应用
案例 我们想知道奖金率有多少种,而且具体每种的值是什么?
第一要去NULL 第二 去重 第三 最好来个降序排序查询
SELECTDISTINCT IFNULL(`commission_pct`, 0) 奖金率种类
FROM employees
ORDER BY 奖金率种类 DESC;SELECTCOUNT(DISTINCT `commission_pct`) 奖金率种数
FROM employees;
COUNT 花式应用
最主要的就是用来统计类的实例数量(有多少行),当然要求你实例的属性(列对应得值)至少得有个不为NULL(全是NULL 实例不存在了)
于是我们可以这么写
SELECT COUNT(*) FROM employees;
这种写法无论是MySQL 5.5之前的存储引擎MYISAM 还是5.5之后的INNODB 都是最快、效率最高的统计行数办法。
当然你也可以这么写:
SELECT COUNT('杰伦') FROM employees;
或者
SELECT COUNT(1234) FROM employees;
结果相同,它实现原理是每一行都多一个属性,叫1234 或者 ‘杰伦’ (你自定义的),然后统计有多少个1234或者’杰伦’ 达到一样的行数统计效果。
预告
其实单纯的统计函数意义不大——我们不太可能针对一张张表来统计
经常是对id = 1,2,3…的所有情况统计
这时 我们就需要分组 GROUP BY
下一站:数据库学习之MySQL (十二)—— 分组查询 GROUP BY + HAVING
- 本文专栏
MySQL专栏 - 我的其他专栏 希望能够帮到你 ( •̀ ω •́ )✧
- 手把手带你学后端(服务端)
- python这么火 想要深入学习python 玩一下简单的应用嘛?
python应用
- 谢谢大佬支持! 萌新有礼了:)
数据库学习之MySQL (十一)—— 统计函数 COUNT MIN MAX AVG SUM相关推荐
- mysql now str,数据库学习之MySQL (十)—— 日期和时间函数 NOW STR_TO_DATE DATE_FORMAT 流程控制函数 IF IFNULL CASE...
MySQL学习专栏 正在持续更新中:) 文章目录 日期和时间函数 NOW STR_TO_DATE DATE_FORMAT 流程控制函数 IF IFNULL CASE 下章预告 日期和时间函数 NOW ...
- MySQL——统计函数count,合计函数sum,(avg,max,min)函数
目录 1.统计函数- count 2.合计函数-sum 3.-演示(avg,max,min)函数的使用 1.统计函数- count Count 返回行的总数 Select count( * ) I c ...
- 数据库学习之MySQL (十七)—— SQL99 主查询 与 子查询 子查询分类之WHERE的子查询
文章目录 主查询 子查询 纲举目张--子查询的分类 WHERE语句后的 子查询 主查询 子查询 概念集中于SELECT语句 之前我们所学习的所有,都是SELECT作为独立的一句 是主干,是爸爸 后面跟 ...
- linq学习笔记(5):Count/Sum/Min/Max/Avg
Count/Sum/Min/Max/Avg用于统计数据,比如统计一些数据的个数,求和,最小值,最大值,平均数. 1.Count:返回集合中的元素个数,返回INT类型:不延迟.生成SQL语句为:SELE ...
- 数据库学习之MySQL (九)—— 数学函数 字符串函数 CONCAT TRIM PAD
MySQL学习专栏 正在持续更新中:) 文章目录 复习一下 前面学到的函数 LENGTH CONCAT 数学函数 ABS CEIL FLOOR ROUND POW 常用字符串函数 SUBSTR REP ...
- 数据库学习之MySQL (三)——数据库小试牛刀 + 利用对象思维理解表行列
文章目录 前言 ´・ᴗ・` 获得自己第一个数据库 执行代码 小试牛刀 简单语句的实验方法 表 的理解 总结 ´◡` 前言 ´・ᴗ・` 本文我们将通过运行sql代码 得到自己的第一个数据库 我们学习的重 ...
- 数据库学习之MySQL (十六)—— SQL99 外连接 左外连接 右外连接 全外连接 交叉连接
文章目录 外连接 之 左外连接 与 右外连接 为啥要用外连接 全外连接 总结 内连接 外连接 交叉连接 外连接 之 左外连接 与 右外连接 我们先来看个之前的 女神男朋友的案例 传送:数据库学习之My ...
- Linq-语句之Select/Distinct和Count/Sum/Min/Max/Avg
上一篇讲述了LINQ,顺便说了一下Where操作,这篇开始我们继续说LINQ to SQL语句,目的让大家从语句的角度了解LINQ,LINQ包括LINQ to Objects.LINQ to Data ...
- LINQ to SQL语句之 Count/Sum/Min/Max/Avg
Count/Sum/Min/Max/Avg操作符 适用场景:统计数据吧,比如统计一些数据的个数,求和,最小值,最大值,平均数. Count 说明:返回集合中的元素个数,返回INT类型:不延迟.生成SQ ...
- LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg - YJingLee's Blog - 博客园(转)
Select/Distinct操作符 适用场景:o(∩_∩)o- 查询呗. 说明:和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也 ...
最新文章
- 那些离开大厂,回归学术界的科学家们!
- fastclick库的介绍和使用
- 实现 tomcat 热加载证书
- Delphi 的信息框相关函数
- JwPlayer播放器【去除Logo、去除版本信息】
- @程序员,技术债你还清了吗?
- CenOS_6.6_简单搭建vsFTP
- 怎么在Android布局里面写下拉框,Android CoordinatorLayout(六) 加入下拉功能
- 用户、话题、评论一网打尽,分享一个最强微博爬虫
- Python 文本挖掘:使用gensim进行文本相似度计算
- 在XP+SP2下隐藏模态窗口的状态栏
- 自适应Simpson法P4525 【模板】自适应辛普森法1
- 小总结:git的使用
- kubernetes资源管理平台ratel
- HUAWEI nova 青春版“大尺度”内存,手机再满都不怕
- 你要的所有数据源都在这里了!
- 笔记本上的 Ctrl 键突然无法使用
- 学会做笔记-子弹笔记学习概要三
- iPhone 11忘记了密码怎么办?
- 一个 iPod touch 用户的魅族 M8 使用体验
热门文章
- 制作CAB包以及文件签名
- jQuery 事件冒泡
- python代码 将文件夹下的.png图片转换为.mat图片 批量转换为mat
- 追星女孩彩虹屁情话合集100条 ✔︎ (三)
- lopatkin俄大神精简中文系统 Windows 10 Pro 10240.16393.150717-1719.th1_st1 x86-x64 CN Tablet PC FINAL...
- bh1750采集流程图_多路BH1750光强检测系统的设计
- 层次分析法在matlab上的实现
- 神马搜索广告怎么投放?神马广告投放产品介绍!
- 08-【go】go语言中的*和的使用方法
- Python——顺序结构