平均值可以用avg函數,也可以用表達式計算,具體語句如下:
select avg(t.comm) , --只計算有值的行進行平均,哪怕是個0,空值不參與計算
round(avg(nvl(t.comm, 0))), --nvl函數把空值賦值為0,所以空值的參與計算
round(sum(t.comm) / count(*)), --變通求平均值,count(*)統計所有行數,因此空值參與計算
round(sum(t.comm) / count(t.comm)), --count(字段)統計非空行數,空值不參與計算
round(sum(t.comm) / count(nvl(t.comm, 0))) --nvl函數把空值賦值為0,所以空值的參與計算
from EMP t
運行結果如下: