什么是聚合函数?
聚合函数:聚合函数就是对一组值进行计算后返回单个值(即分组)。聚合函数在计算时都会忽略空值(null)。
所有的聚合函数均为确定性函数。即任何时候使用一组相同的输入值调用聚合函数执行后的返回值都是相同的,无二义性。
聚合函数中字段为varchar类型怎么办
- sqlserver那么可将字符转成数字再进行sum
cas t(S_Height as int),convert(int,S_Height) 用于将S_Height的varchar类型转换成int类型
- oracle,则可隐形转换成数字(未验证),无需修改语句,也可以使用以下函数进行转换
to_number(S_Height ),cas t(S_Height as int) 用于将S_Height的varchar类型转换成int类型
常见聚合函数:
- 统计函数:COUNT()
如果字段名的值为NULL,则count函数不会统
参数前面还可以加上 DISTINCT 关键字(即去掉重复项)。返回值类型为: int
select count(distinct S_Sex) from Student -- 返回 2,即去重之后性别只有两种
- 求和函数:SUM()
SUM函数用于求和,计算指定列中所有不为空(null)的总和。
--求不同身高的学员的身高总和(去掉重复项),因为字段类型是 varchar 类型,所以需要转换一下
select SUM(distinct convert(int,S_Height)) from Student -- 返回 1403
- 求平均值函数:AVG()
用于求平均值,计算指定列中所有不为空(null)的平均值。
--求所有学员的平均身高,因为字段类型是 varchar 类型,所以需要转换一下
select AVG(convert(int,S_Height)) from Student -- 返回 176
- 最大值函数:MAX()
- 最小值函数:MIN()