1. 程式人生 > >組函式AVG(欄位)的使用。

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