MySQL中的组函数(聚合函数)
MySQL中的组函数(聚合函数)
组函数操作行集,给出每组的结果。组函数不象单行函数,组函数对行的集合进行操
作,对每组给出一个结果。这些集合可能是整个表或者是表分成的组。
一、组函数与单行函数的区别
单行函数对查询到每个结果集做处理,而组函数只对分组数据做处理。
单行函数对每个结果集返回一个结果,而组函数对每个分组返回一个结果。
二、组函数的类型
AVG 平均值
COUNT 计数
MAX 最大值
MIN 最小值
SUM 合计
三、使用组函数的原则
用于函数的参数的数据类型可以是 CHAR、VARCHAR2、NUMBER 或 DATE。
所有组函数忽略空值。为了用一个值代替空值,用 NVL、NVL2 或 COALESCE 函数。
四、组函数的使用
使用 AVG 和 SUM 函数
AVG(arg)函数:对分组数据做平均值运算。arg:参数类型只能是数字类型。
SUM(arg)函数:对分组数据求和。arg:参数类型只能是数字类型。
例
求雇员表中的的平均薪水与薪水总额。
Select avg(salary) , sum(salary) from employees;
使用 MIN 和 MAX 函数
MIN(arg)函数:求分组中最小数据。arg:参数类型可以是字符、数字、日期。
MAX(arg)函数:求分组中最大数据。arg:参数类型可以是字符、数字、日期。
例
求雇员表中的最高薪水与最低薪水。
Select max(salary) , min(salary) from employees;
使用 COUNT 函数
COUNT 函数:返回一个表中的行数。
COUNT 函数有三种格式:COUNT(*)、COUNT(expr)、COUNT(DISTINCT expr);
1.COUNT(*)
返回表中满足 SELECT 语句标准的行数,包括重复行,包括有空值列的行。 如果WHERE 子句包括在 SELECT 语句中,COUNT(*) 返回满足 WHERE 子句条件的行数。
例
返回查询结果的总条数。
Select count(*) from employees;
2.COUNT(expr)
返回在列中的由 expr 指定的非空值的数。
例
显示有佣金的雇员人数。
Select count(commission_pct) from employees;
3.COUNT(DISTINCT expr)
使用 DISTINCT 关键字禁止计算在一列中的重复值。
例
显示 EMPLOYEES 表中不重复的部门数。
Select count(distinct department_id) from employees;
五、组函数与空值
所有组函数忽略列中的空值。
在组函数中使用 ifnull 函数来处理空值。
例
一、计算有佣金的员工的佣金平均值。
Select avg(commission_pct) from employees;
二、计算所有员工的佣金的平均值。
Select avg(ifnull(commission_pct,0)) from employees;
MySQL中的组函数(聚合函数)相关推荐
- mysql中locat函数,MySQL中的LOCATE和POSITION函数使用方法 | 很文博客
不常用:MySQL中的LOCATE和POSITION函数 LOCATE(substr,str) POSITION(substr IN str) 返回子串 substr 在字符串 str 中第一次出现的 ...
- mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数
<Mysql实例详解Mysql中的JSON系列操作函数>要点: 本文介绍了Mysql实例详解Mysql中的JSON系列操作函数,希望对您有用.如果有疑问,可以联系我们. MYSQL必读前言 ...
- mysql 排名_学会在MySQL中实现Rank高级排名函数,所有取前几名问题全部解决.
MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...
- mysql中locat函数,MySQL中的LOCATE和POSITION函数使用方法
不常用:MySQL中的LOCATE和POSITION函数 LOCATE(substr,str) POSITION(substr IN str) 返回子串 substr 在字符串 str 中第一次出现的 ...
- Mysql中当前日期(时间)函数总结
Mysql中当前日期(时间)函数总结 select now():获取当前日期(包含时分秒) 2.Select date_formate(now(),"格式化") select da ...
- mysql rank_在MySQL中实现Rank高级排名函数
MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...
- 在MySQL中实现Rank高级排名函数
在MySQL中实现Rank高级排名函数 前言 用例表 1.在MySQL中实现普通排名 2.在MySQL中实现并列连续序号排名 3.在MySQL中实现并列非连续序号排名 4.随机获得一条数据 5.判断数 ...
- rank()函数 mysql_在MySQL中实现Rank高级排名函数
在MySQL中实现Rank高级排名函数 MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可 ...
- Oracle中的within,Oracle函数 --聚合函数中的语法within group
Oracle的聚合函数一般与group by 联合使用,但一般通过group by 聚合 但某些聚合函数会后跟 WITHIN GROUP (ORDER BY expr [ DESC | ASC ] [ ...
最新文章
- 来者不拒,“昊”课等你——直播微生物篇
- adb logcat 抓取日志_手机抓取崩溃的log日志(安卓/ios)
- C语言利用Cairo图形库绘制太极图
- hdu1686 最大匹配次数 KMP
- django 快速实现注册
- vs code ipynb文件_UE4引擎 源码的获取、安装,以及VS配置
- datagridview 绑定list 不能刷新界面_人人都可写代码-H5零基础编程-首页界面实操06...
- 格式化字符串漏洞利用 五、爆破
- opencv fast角检测
- wps二次开发无法创建对象wps.application的解决方案
- linux apache配置虚拟主机,linux环境apache多端口配置虚拟主机的方法
- 计算机方法学,浅谈计算机教学的方法
- 无刷直流电机模糊PID控制
- 一份spyglass做lint的lint.prj
- echarts飞机航线图修改飞机的样式
- IDEA运行项目时停不下来
- 微信公众号学习--点亮图片
- python下载vip素材_Python素材下载爬虫,多线程rar下载爬虫
- 【支线】基于Aidlux的Arduino小车
- InputStream 、 InputStreamReader 、 BufferedReader
热门文章
- seq2seq和Transformer
- 【c++】 类与对象
- 构造函数 Create 与 析构函数 Destroy
- Ubuntu自带pdf查看器不能显示中文解决问题
- 终于开通了园子里的博客!
- 抓取html的地址怎么写,html js 获取地址栏参数
- linux下mkdir头文件_Linux部分常用命令学习记录
- (chap2 TCP/IP基础知识) TCP/IP协议分层模型-应用层
- C++ Primer 5th笔记(chap 14 重载运算和类型转换)输入和输出运算符
- c++服务器开发学习--02--MySQL,Redis,ASIO,iocp,TrinityCore代码结构,c++对象模型