【问题标题】:Would null value change the average?空值会改变平均值吗?
【发布时间】:2018-05-13 17:39:03
【问题描述】:

这个查询的结果是什么? (Oracle SQL)

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

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

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

谢谢

【问题讨论】:

    标签: sql oracle null average


    【解决方案1】:

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

    Here 是一个小专家,展示发生了什么。

    【讨论】:

      【解决方案2】:

      试试看

      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;
      

      【讨论】:

        猜你喜欢
        • 2022-11-04
        • 1970-01-01
        • 1970-01-01
        • 2022-11-03
        • 1970-01-01
        • 2018-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多