没有在SQL中获得正确的计数

bob*_*bby 4 sql t-sql sql-server-2005

我是全新的SQL.我有一个类似于这个的简单选择查询:

SELECT COUNT(col1) FROM table1
Run Code Online (Sandbox Code Playgroud)

表中有大约120条记录显示在GUI.出于某种原因,此查询始终返回一个小于实际计数的数字.

有人能帮帮我吗?

Blo*_*ard 17

尝试

select count(*) from table1
Run Code Online (Sandbox Code Playgroud)

编辑:进一步解释,count(*)为您提供表的行数,包括重复和空值.count(isnull(col1,0))会做同样的事情,但稍微慢一点,因为isnull必须对每一行进行评估.


Gul*_*zim 13

您可能在col1列中有一些空值.聚合函数忽略空值.试试这个

SELECT COUNT(ISNULL(col1,0)) FROM   table1
Run Code Online (Sandbox Code Playgroud)