在sql server中,count(列)也会计算空列?我在考试中遇到了这个问题而且我感到困惑,但最后我给出的答案是,计数(列)也会计算空列。我只是想知道我是对还是错。有人对此有任何想法吗?
答案 0 :(得分:7)
是什么阻止你自己检查?
CREATE TABLE Test (VALUE VARCHAR(10));
INSERT INTO TEST VALUES ('sdfsdf'), ('sdfgsdfg'),( NULL),( NULL);
SELECT COUNT(VALUE) FROM Test
结果:
COUNT(VALUE)
2
所以答案是否。 COUNT(ColumnName)
不计算NULL
个值的行。
答案 1 :(得分:1)
以下是BOL (Books OnLine) article about COUNT所说的内容:
COUNT(*)返回组中的项目数。这包括NULL值和重复项。
COUNT(ALL表达式)计算组中每一行的表达式,并返回非空值的数量。
COUNT(DISTINCT表达式)计算组中每一行的表达式,并返回唯一的非空值的数量。