gpt4 book ai didi

mysql - 使用 AVG 时排除带有 "0"的条目

转载 作者:可可西里 更新时间:2023-11-01 06:31:38 25 4
gpt4 key购买 nike

我有一个名为“numbers”的数字 mysql 数据库字段,其中有 10 个条目,数字范围为 0-10。

我想找到这个的平均值,但不包括数字 = 0 的所有条目。但我还想计算有多少条目 - 包括 number = 0 的条目。

所以我不能只添加一个 WHERE 数字!=0,因为那样会在我的 COUNT 中给出错误的结果。

所以我需要类似的东西。

AVG(if(numbers!=0)) AS average

最佳答案

这个怎么样?

select avg(nullif(field, 0)) from table;

请注意此方法如何不强制您使用 where 子句,以防您希望将其用作您一般不希望排除零值的较大查询的一部分.

另外,顺便说一下,avg 会跳过null 值,所以在上面的例子中我们使用了nullif 来将0 值转换为 null 值。如果您使用 null 值来表示不应考虑平均值的值(例如,如果 0 是合法值),则只需使用 平均(字段)

关于mysql - 使用 AVG 时排除带有 "0"的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6871775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com