我需要对一列执行avg,但我知道该列中的大多数值都将为零。在所有可能的行中,只有两行可能具有正值。我如何告诉mySQL忽略零,只取实际值的平均值?
发布于 2011-03-17 23:07:38
假设您可能不想完全排除这样的行(可能它们在其他列中有您想要聚合的值)
SELECT AVG(NULLIF(field ,0))
from table
发布于 2011-03-17 23:05:25
您可能可以通过WHERE子句来控制:
select avg( field ) from table where field > 0
发布于 2011-03-17 23:09:51
select avg(your_column)
from your_table
where your_column != 0
https://stackoverflow.com/questions/5340883
复制相似问题