空值会改变平均值吗?



此查询的结果是什么?(甲骨文SQL)

SELECT TO_CHAR(AVG(TEST_SCORE),'999,999.99') FROM SCORES; 

如果TEST_SCORE的值为 (96, 84, 空)

不是90.00吗?因为空不会改变答案?

谢谢

NULL值不会改变平均值。 这两个数字的平均值是 90。 通常,聚合函数忽略NULL值 - 包括min()max()avg()count()(count(*)除外)和sum()

这里有一个小的rextester,显示了会发生什么。

试一试

with SCORES as (
select 96 test_score from dual
union all
select 84 from dual
union all
select null from dual
)
SELECT TO_CHAR(AVG(TEST_SCORE),'999,999.99') FROM SCORES;

最新更新