关于Sql Server中的Count()函数
对于sql server 2008 r2的系统函数一直都没有好好的研究,于是今天差点犯了一个错误,来自于count()函数。
看下面两种情况:
code1:
select count(*),count(n),count(distinct n)
from values((1),(2),(null),(null)) A(n)
结果分别是:4,2,2
官方文档说明:
COUNT(*) 返回组中的项数。包括 NULL 值和重复项。
COUNT(ALL expression) 对组中的每一行都计算 expression 并返回非空值的数量
COUNT(DISTINCT expression) 对组中的每一行都计算 expression 并返回唯一非空值的数量。