COUNT(IF)
和 SUM(IF)
的区别和联系:
COUNT(IF xxx, 1, 0)
:无视条件求和,即统计0
或者1
的数量(因为不论0
还是1
,都是不为NULL
的值)SUM(xxx, 1, 0)
:对满足条件的对象求和,即统计1
的数量(因为满足则返回1
,因此求和值即满足条件的总数目)
上述情况,COUNT(IF xxx, 1, NULL)
才等价于SUM(xxx, 1, 0)
,因为COUNT
不会统计NULL
值。
注:只有COUNT(*)
或者COUNT(1)
,不要使用SUM(*)
什么的。