Mysql:AVG()函数如何去除0值做平均值
生活随笔
收集整理的這篇文章主要介紹了
Mysql:AVG()函数如何去除0值做平均值
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
時間比較緊,簡單做一個記錄。
聚合函數(shù)會把NULL排除在外,但Count(*)例外,并不會排除NULL;
如果對Price這列進行AVG()求平均值時,得到結果
得到平均值為2,是應為數(shù)據(jù)庫聚合的時候會刪除NULL列,然后計算:(1+2+3)/3=2,注意分子是3不是5
如果需要將NULL值也作為分母來計算的話,需要使用COALESCE函數(shù)將NULL值轉換為其他值
這時結果就是:(1+2+3+0+0)/5=1.2
如果需要將0值去掉,不作為分母?
方式一:
SELECT avg(nullif(field ,0)) from table方式二:
SELECT avg(nullifzero(field)) from table方式三:
select avg(field) from table where field > 0總結
以上是生活随笔為你收集整理的Mysql:AVG()函数如何去除0值做平均值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 每天学一点儿shell:shell脚本的
- 下一篇: EasyExcle使用小结