gpt4 book ai didi

mysql - SQL 中除 0 以外的值的平均值(除 0 外是唯一值)

转载 作者:行者123 更新时间:2023-11-29 04:19:11 25 4
gpt4 key购买 nike

我想让 AVG 从可以包含它们的值列表中排除 0,除非 0 是唯一可用的值(或者至少只有一行并且值正好是 0)。

目前我在用

SELECT AVG (NULLIF(feature, 0)) 
from cluster_density_feat
where cluster_id=1;

但是如果特征值 cluster_id 只有一行并且他的特征值为 0 或者如果这个 cluster_id 的每一行都只有零值,它返回 NULL。

我怎样才能做到这一点?

最佳答案

AVG()使用组中的所有值,它不能排除 0秒。您应该使用 WHERE 排除它们条款。

SELECT IFNULL(AVG(feature), 0)
FROM cluster_density_feat
WHERE cluster_id = 1
AND feature <> 0

如果 feature 中的所有值列是 0 , feature <> 0条件产生一组空行和 AVG()返回 NULL .函数IFNULL()当第一个参数是 NULL 时返回它的第二个参数.

关于mysql - SQL 中除 0 以外的值的平均值(除 0 外是唯一值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30639808/

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