我正在寻找数据库的“教科书”示例,以说明涉及 NULL 值时聚合函数(Max、Min、Sum、Avg 和 Count)的显着特征。
我必须能够使用上述数据库讨论和说明/展示这些聚合函数在 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/