此查询的结果是什么?(甲骨文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;