第08章_聚合函数
我们上一章讲到了 SQL 单行函数。实际上 SQL 函数还有一类,叫做聚合(或聚集、分组)函数,它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值。
1. 聚合函数介绍
- 什么是聚合函数
聚合函数作用于一组数据,并对一组数据返回一个值。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nrdbtyFy-1652660210981)(images/1554980924940.png)]
-
聚合函数类型(这些都可以直接过滤空值)
- AVG()
- SUM()
- MAX()
- MIN()
- **COUNT() **
- AVG = SUM / COUNT
-
聚合函数语法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k6pZqNNI-1652660210983)(images/1554981029920.png)]
- 聚合函数不能嵌套调用。比如不能出现类似“AVG(SUM(字段名称))”形式的调用。
1.1 AVG和SUM函数
可以对**数值型数据(字段或变量)**使用AVG 和 SUM 函数。
SELECT AVG(salary), MAX(salary),MIN(salary), SUM(salary)
FROM employees
WHERE job_id LIKE '%REP%';
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0yQC2gBg-1652660210983)(images/1554981279723.png)]
1.2 MIN和MAX函数
可以对**任意数据类型(数值类型、字符串类型、日期类型的字段(或变量))**的数据使用 MIN 和 MAX 函数。
SELECT MIN(hire_date), MAX(hire_date)
FROM employees;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7ZKGAtYC-1652660210983)(images/1554981253194.png)]
1.3 COUNT函数
- COUNT(*)返回表中记录总数,适用于任意数据类型。
SELECT COUNT(*)
FROM employees
WHERE department_id = 50;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GOduQgpj-1652660210984)(images/1554981241299.png)]
- COUNT(expr) 返回expr不为空的记录总数。
SELECT COUNT(commission_pct)
FROM employees
WHERE department_id = 50;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aORwjavb-1652660210984)(images/1554981328678.png)]
如果计算表中有多少条纪律,如何实现
方式1:COUNT(*)
方式2:COUNT(1)
方式3:COUNT(具体字段):不一定对!