SQL Server计数(列)查询

时间:2013-09-08 08:51:33

标签: sql sql-server

在sql server中,count(列)也会计算空列?我在考试中遇到了这个问题而且我感到困惑,但最后我给出的答案是,计数(列)也会计算空列。我只是想知道我是对还是错。有人对此有任何想法吗?

2 个答案:

答案 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个值的行。

SQLFiddle

答案 1 :(得分:1)

以下是BOL (Books OnLine) article about COUNT所说的内容:

  

COUNT(*)返回组中的项目数。这包括NULL值和重复项。

     

COUNT(ALL表达式)计算组中每一行的表达式,并返回非空值的数量。

     

COUNT(DISTINCT表达式)计算组中每一行的表达式,并返回唯一的非空值的数量。