组函数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(*)

 

posted @ 2018-12-04 00:10  Java半路人生  阅读(1980)  评论(0编辑  收藏  举报