组函数AVG(字段)的使用。

Posted rensheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了组函数AVG(字段)的使用。相关的知识,希望对你有一定的参考价值。

在日常写代码的时候,没有特别的注意avg(字段)组函数。今天仔细聊一聊avg()函数的使用注意事项

SELECT AVG(EMP.COMM) FROM EMP;    -- 采用avg组函数的时候,会自动忽略掉为字段值为空值的选项。

技术分享图片
SELECT SUM(EMP.COMM) / COUNT(*) AS "AVG(EMP.COMM)" FROM EMP;     -- count(*)数量为 所有的记录的数量。

技术分享图片
SELECT SUM(EMP.COMM) / COUNT(EMP.COMM) AS "AVG(EMP.COMM)" FROM EMP;   -- count(字段) 字段为不为空的记录的数量。

技术分享图片
SELECT AVG(NVL(EMP.COMM,0))  AS "AVG(EMP.COMM)" FROM EMP;    -- oracle数据库中 NVL(字段,值) 字段如果为空,则 用值替代。 如果为mysql数据库,NVL()替换为IFNULL(字段,值)

技术分享图片

下面说一下,avg(字段)  的具体的使用区别

AVG(字段)   ==   SUM(字段)   /   COUNT(字段)
AVG(字段)   !=    SUM(字段)   /   COUNT(*)
AVG(NVL(字段,0))   ==   SUM(字段)   /   COUNT(*)

 







以上是关于组函数AVG(字段)的使用。的主要内容,如果未能解决你的问题,请参考以下文章

如何为 AVG 函数投射 Pig 字段

Oracle——分组函数

SQL 基础之组函数

聚合函数数据分组

mysql聚合函数

mysql之聚合函数