組函數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(*)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM