SQL Server 2008中选择计数(*)、计数(0)、计数(100)和计数(Id)之间的差异?
以下SQL Server 2008语句之间有什么区别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 前四个都是相同的-它们计算总行
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
字段中的非空值进行计数
其他所有人都将统计记录数
(使用文字数字而不是*
的记录将计算该值不为空的所有记录。查询计划员可能会意识到任何记录的文字值都不会为空,并与计数(*)
相同,而不是实际计算非空值。)