如何做有条件的平均值?

时间:2014-03-02 15:24:31

标签: mysql sql average

我想通过post_author计算平均结果。这是我的代码:

AVG(CASE WHEN post_author = 1 THEN post_content ELSE 0 END )as avg

在2条记录(100,66.7)上得到100的结果,应该是83.35 哪里出了问题?

1 个答案:

答案 0 :(得分:5)

您可以删除else子句,以便传递NULL

AVG(CASE WHEN post_author = 1 THEN post_content END) as "avg"

您的查询是为了平均值而将不匹配的值设置为0。您希望忽略它们,因此请使用NULL