Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server 2008中选择计数(*)、计数(0)、计数(100)和计数(Id)之间的差异?_Sql_Sql Server 2008 - Fatal编程技术网

SQL Server 2008中选择计数(*)、计数(0)、计数(100)和计数(Id)之间的差异?

SQL Server 2008中选择计数(*)、计数(0)、计数(100)和计数(Id)之间的差异?,sql,sql-server-2008,Sql,Sql Server 2008,以下SQL Server 2008语句之间有什么区别 SELECT COUNT(*) FROM dbo.Regular_Report SELECT COUNT(0) FROM dbo.Regular_Report SELECT COUNT(1) FROM dbo.Regular_Report SELECT COUNT(100) FROM dbo.Regular_Report SELECT COUNT(ID) FROM dbo.Regular_Report 前四个都是相同的-它们计算总行

以下SQL Server 2008语句之间有什么区别

SELECT COUNT(*) FROM dbo.Regular_Report

SELECT COUNT(0) FROM dbo.Regular_Report

SELECT COUNT(1) FROM dbo.Regular_Report

SELECT COUNT(100) FROM dbo.Regular_Report

SELECT COUNT(ID) FROM dbo.Regular_Report

前四个都是相同的-它们计算总行数

最后一个计算
ID
不为空的行数

count(id)
将对
id
字段中的非空值进行计数

其他所有人都将统计记录数

(使用文字数字而不是
*
的记录将计算该值不为空的所有记录。查询计划员可能会意识到任何记录的文字值都不会为空,并与
计数(*)
相同,而不是实际计算非空值。)