Group functions ignore null values in the column (组函数忽略NULL值)
如下:
SQL> select count(*) from employees;
COUNT(*)
----------
107
SQL> select count(commission_pct) from employees;
COUNT(COMMISSION_PCT)
---------------------
35
在employees表中有107行,但非null值的commission_pct列只有35行。
SQL> select avg(commission_pct) from employees;
AVG(COMMISSION_PCT)
-------------------
.222857143
SQL> select avg(nvl(commission_pct,0)) from employees;
AVG(NVL(COMMISSION_PCT,0))
--------------------------
.072897196
通过对比两次求平均值的结果,可以看出group function在计算时,对null值是丢弃的。
还有个注意点:你不能在where 子句中使用group function,因为where子句先执行。
本文讨论了SQL中Group Function如何处理NULL值的问题,包括COUNT、AVG函数的实际应用,以及NVL函数的使用,同时强调了where子句与group函数执行顺序的不同。
1337

被折叠的 条评论
为什么被折叠?



