MySQLAVG忽略零

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

我需要对列执行avg,但我知道该列中的大多数值将为零。在所有可能的行中,只有两行可能具有正值。我如何告诉MySQL忽略零,而只对实际值进行平均值?

提问于
用户回答回答于

假设你可能不想完全排除这类行(可能它们在您希望聚合的其他列中有值)

SELECT AVG(NULLIF(field ,0)) 
from table
用户回答回答于

可以通过WHERE子句来控制它:

select avg( field ) from table where field > 0

扫码关注云+社区