值不为null的SQL平均值

值不为null的SQL平均值,sql,null,average,Sql,Null,Average,我有一张桌子的颜色: white NULL white 5 red 3 red 7 blue 6 blue 4 我想要一个平均值函数来获取颜色的平均值。AVG函数忽略“白色NULL”行,因为它有NULL。我希望它完全忽略白色。我只想让它显示出来 red 5 blue 5 无法找出如何忽略带有一个空值的值的“类别”使用HAVING子句过滤掉不需要的颜色: SELECT color, AVG(value) AS avg_value FROM yourTable GROUP BY

我有一张桌子的颜色:

white NULL
white 5
red 3
red 7
blue 6
blue 4
我想要一个平均值函数来获取颜色的平均值。AVG函数忽略“白色NULL”行,因为它有NULL。我希望它完全忽略白色。我只想让它显示出来

red  5
blue 5

无法找出如何忽略带有一个空值的值的“类别”

使用
HAVING
子句过滤掉不需要的颜色:

SELECT
    color,
    AVG(value) AS avg_value
FROM yourTable
GROUP BY color
HAVING SUM(CASE WHEN value IS NULL THEN 1 ELSE 0 END) = 0