SQL 计算非Null值的个数,计算某一列里非 Null
值的个数。例如,希望知道有多少名员工获得了业务提成。
SQL 计算非Null值的个数 问题描述
计算某一列里非 Null
值的个数。例如,希望知道有多少名员工获得了业务提成。
SQL 计算非Null值的个数 解决方案
计算 EMP
表的 COMM
列里非 Null
值的个数。
select count(comm)
from emp
COUNT(COMM)
-----------
4
SQL 计算非Null值的个数 扩展知识
当执行 COUNT(*)
操作时,实际上是在统计行数(而不会去管实际的值是什么,这就是为什么 Null
值和非 Null
值都会被计入总数)。但是,如果针对某一列执行 COUNT
操作,我们却是在计算该列非 Null
值的个数。前一个实例的“讨论”部分提到了这种区别。在本解决方案中,COUNT(COMM)
返回的是 COMM
列非 Null
值的个数。因为只有获得业务提成的员工才会在对应的 COMM
列有非 Null
值,所以 COUNT(COMM)
的计数结果就是这一类员工的总数。