SQL聚集函数
2021/10/12 19:15:49
本文主要是介绍SQL聚集函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
聚集函数
输入值的一个集合,返回单个值的函数。SQL提供了五个固有聚集函数
- 平均值:
avg
- 最小值:
min
- 最大值:
max
- 总和:
sum
- 计数:
count
sum和avg输入必须是数字集
1.基本聚集
例如计算平均数,默认情况下,聚集函数保留重复元组,若删除重复元组需要显式使用select avg(distinct salary)
:
select avg(salary) from instructor where dept_name = 'Comp.Sci'
计算关系中元组个数
select count(*) from course;
2.分组聚集group by
group by
子句用来构造分组,其中所有属性上取值相同的元组被分在一个组中,注意任何没有出现在group by
子句中的属性如果出现在select内部的话,它只能出现在聚集函数内部,否则就是错的。
select dept_name,avg(salary) as avg_salary from instruct group by dept_name;
3.having
子句
having
用于对分组限定条件,having子句中的谓词在形成分组后才起作用,因此可以使用聚集函数,如:
select dept_name,avg(salary) from instructor group by dept_name having avg(salary) > 42000;
任何出现在having
子句中,但没有被聚集的属性必须出现在group by子句中,否则查询就被当成是错误的
查询子句的操作顺序:from
-> where
-> group by
-> having
-> select
4.对空值和布尔值的聚集
-
除了
count(*)
之外所有的聚集函数都忽略输入集合中的空值。 -
由于空值被忽略,可能会出现空集,规定空集的
count
运算值为0(除了count(*)
仍然会对空值进行计数),其他所有聚集运算在输入为空集的情况下返回一个空值。
这篇关于SQL聚集函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)