AVG 函数计算给定参数的平均值,返回值的类型有以下几种情况:
其中 expr 的值为数值型,或可以转换为 NUMBER 类型的字符型(转换失败返回 Invalid number 错误)。对于其他类型,函数返回类型不支持。
在单行计算中,当 expr 的值为 NULL 时,函数返回 NULL。
在多行计算中,函数将忽略 expr 值为空的行,当所有行均为空时,计算结果为 NULL。
聚集函数不可嵌套,因此 expr 为除聚集函数之外的其他通用表达式。
DISTINCT
表示在计算平均值时,过滤掉重复的行。
ALL
默认值,表示对所有行计算平均值。
示例
-- area1表中包含如下字段和数据
SELECT area_no,area_name,DHQ,employee_count FROM area1;
AREA_NO AREA_NAME DHQ EMPLOYEE_COUNT
------- -------------------- --------------- --------------
01 华东 Shanghai
02 华西 Chengdu 300
03 华南 Guangzhou 400
04 华北 Beijing 300
05 华中 Wuhan
-- 计算平均员工数,员工数为空的行在计算时被忽略
SELECT AVG(employee_count) res FROM area1;
RES
-------------------
333.333333
-- 计算平均员工数(过滤掉重复值),员工数为空的行在计算时被忽略
SELECT AVG(DISTINCT employee_count) res FROM area1;
RES
--------------------
350
复制代码
评论