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中的组函数(聚合函数)相关推荐

  1. mysql中locat函数,MySQL中的LOCATE和POSITION函数使用方法 | 很文博客

    不常用:MySQL中的LOCATE和POSITION函数 LOCATE(substr,str) POSITION(substr IN str) 返回子串 substr 在字符串 str 中第一次出现的 ...

  2. mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数

    <Mysql实例详解Mysql中的JSON系列操作函数>要点: 本文介绍了Mysql实例详解Mysql中的JSON系列操作函数,希望对您有用.如果有疑问,可以联系我们. MYSQL必读前言 ...

  3. mysql 排名_学会在MySQL中实现Rank高级排名函数,所有取前几名问题全部解决.

    MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...

  4. mysql中locat函数,MySQL中的LOCATE和POSITION函数使用方法

    不常用:MySQL中的LOCATE和POSITION函数 LOCATE(substr,str) POSITION(substr IN str) 返回子串 substr 在字符串 str 中第一次出现的 ...

  5. Mysql中当前日期(时间)函数总结

    Mysql中当前日期(时间)函数总结 select now():获取当前日期(包含时分秒) 2.Select date_formate(now(),"格式化") select da ...

  6. mysql rank_在MySQL中实现Rank高级排名函数

    MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...

  7. 在MySQL中实现Rank高级排名函数

    在MySQL中实现Rank高级排名函数 前言 用例表 1.在MySQL中实现普通排名 2.在MySQL中实现并列连续序号排名 3.在MySQL中实现并列非连续序号排名 4.随机获得一条数据 5.判断数 ...

  8. rank()函数 mysql_在MySQL中实现Rank高级排名函数

    在MySQL中实现Rank高级排名函数 MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可 ...

  9. Oracle中的within,Oracle函数 --聚合函数中的语法within group

    Oracle的聚合函数一般与group by 联合使用,但一般通过group by 聚合 但某些聚合函数会后跟 WITHIN GROUP (ORDER BY expr [ DESC | ASC ] [ ...

最新文章

  1. 来者不拒,“昊”课等你——直播微生物篇
  2. adb logcat 抓取日志_手机抓取崩溃的log日志(安卓/ios)
  3. C语言利用Cairo图形库绘制太极图
  4. hdu1686 最大匹配次数 KMP
  5. django 快速实现注册
  6. vs code ipynb文件_UE4引擎 源码的获取、安装,以及VS配置
  7. datagridview 绑定list 不能刷新界面_人人都可写代码-H5零基础编程-首页界面实操06...
  8. 格式化字符串漏洞利用 五、爆破
  9. opencv fast角检测
  10. wps二次开发无法创建对象wps.application的解决方案
  11. linux apache配置虚拟主机,linux环境apache多端口配置虚拟主机的方法
  12. 计算机方法学,浅谈计算机教学的方法
  13. 无刷直流电机模糊PID控制
  14. 一份spyglass做lint的lint.prj
  15. echarts飞机航线图修改飞机的样式
  16. IDEA运行项目时停不下来
  17. 微信公众号学习--点亮图片
  18. python下载vip素材_Python素材下载爬虫,多线程rar下载爬虫
  19. 【支线】基于Aidlux的Arduino小车
  20. InputStream 、 InputStreamReader 、 BufferedReader

热门文章

  1. seq2seq和Transformer
  2. 【c++】 类与对象
  3. 构造函数 Create 与 析构函数 Destroy
  4. Ubuntu自带pdf查看器不能显示中文解决问题
  5. 终于开通了园子里的博客!
  6. 抓取html的地址怎么写,html js 获取地址栏参数
  7. linux下mkdir头文件_Linux部分常用命令学习记录
  8. (chap2 TCP/IP基础知识) TCP/IP协议分层模型-应用层
  9. C++ Primer 5th笔记(chap 14 重载运算和类型转换)输入和输出运算符
  10. c++服务器开发学习--02--MySQL,Redis,ASIO,iocp,TrinityCore代码结构,c++对象模型