此查询的结果是什么? (Oracle SQL)
SELECT TO_CHAR(AVG(TEST_SCORE),'999,999.99') FROM SCORES;
如果TEST_SCORE的值是(96,84,null)
不是90.00?因为null不会改变答案吗?
谢谢
答案 0 :(得分:3)
NULL
值不会改变平均值。这两个数字的平均值为90.通常,聚合函数忽略NULL
个值 - 包括min()
,max()
,avg()
,count()
(除{ {1}})和count(*)
。
Here有点rextester显示会发生什么。
答案 1 :(得分:3)
试一试
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;