我正在寻找数据库的“教科书”示例,以说明涉及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/