Tsql 只按一定条件计算
我试图找出我的一个字段被选中时,只有当该站点处于活动状态时,我才能将该站点包括在计数中。但我下面的语法不正确,因为TotalSiteCount和TotalActiveSiteCount分别是40和40。TotalActiveSite计数的实际计数应该是3,因为如果我要查看该表或在我正在运行的这个查询(包括以下内容)之外对其进行单独计数,则只有3个状态为ActiveTsql 只按一定条件计算,tsql,Tsql,我试图找出我的一个字段被选中时,只有当该站点处于活动状态时,我才能将该站点包括在计数中。但我下面的语法不正确,因为TotalSiteCount和TotalActiveSiteCount分别是40和40。TotalActiveSite计数的实际计数应该是3,因为如果我要查看该表或在我正在运行的这个查询(包括以下内容)之外对其进行单独计数,则只有3个状态为Active , COUNT(*) OVER() as [TotalSiteCount] , COUNT(CASE WHEN base.Statu
, COUNT(*) OVER() as [TotalSiteCount]
, COUNT(CASE WHEN base.Status = 'Active' THEN 1 ELSE 0 end) OVER() as [TotalActiveSitesCount]
做加法而不是数数
COUNT(*) OVER() AS [TotalSiteCount],
SUM(CASE WHEN base.Status = 'Active' THEN 1 ELSE 0 END) OVER()
AS [TotalActiveSitesCount]
或者,如果使用计数,则不计算空值,请重试
COUNT(*) OVER() AS [TotalSiteCount],
COUNT(CASE WHEN base.Status = 'Active' THEN 1 ELSE NULL END) OVER()
AS [TotalActiveSitesCount]