我正在寻找数据库的“教科书”示例,以说明涉及NULL值时聚合函数(最大,最小,总和,平均和计数)的显着特征。

我必须能够使用提到的数据库来讨论和说明/演示在存在NULL的情况下使用示例查询及其答案的NULL聚合函数的用法。

非常感谢!

最佳答案

用:

SELECT MAX(t.num) AS max_test,
       MIN(t.num) AS min_test,
       SUM(t.num) AS sum_test,
       AVG(t.num) AS avg_test,
       COUNT(t.num) AS count_test,
       COUNT(*) AS count_star_test
  FROM (SELECT NULL AS num
        UNION ALL
        SELECT 1
        UNION ALL
        SELECT 2
        UNION ALL
        SELECT 3) t

输出应为:
max_test | min_test | sum_test | avg_test | count_test | count_star_test
-------------------------------------------------------------------------
3        | 1        | 6        | 2        | 3          | 4

总之,如果您专门引用该列,则汇总函数将忽略NULL。 COUNT是唯一支持*的聚合函数-在这种情况下COUNT(*)将包含NULL。

关于sql - 如何呈现集合函数的功能(NULL)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2366812/

10-12 17:43
查看更多