我正在试图弄清楚我的某个字段是如何被选中的,只有在网站处于活动状态时才能将网站包含在计数中。但我的下面的语法不正确,因为我的TotalSiteCount为40,TotalActiveSiteCount为40。对于TotalActiveSite计数,实际计数应为3,因为如果我要查看表格或在此查询之外单独对其进行单独计数,我们只有3个状态为Active,包括以下内容。 / p>
, COUNT(*) OVER() as [TotalSiteCount]
, COUNT(CASE WHEN base.Status = 'Active' THEN 1 ELSE 0 end) OVER() as [TotalActiveSitesCount]
答案 0 :(得分:3)
执行SUM而不是COUNT
COUNT(*) OVER() AS [TotalSiteCount],
SUM(CASE WHEN base.Status = 'Active' THEN 1 ELSE 0 END) OVER()
AS [TotalActiveSitesCount]
或者,如果使用计数,则不计算NULL,因此请尝试
COUNT(*) OVER() AS [TotalSiteCount],
COUNT(CASE WHEN base.Status = 'Active' THEN 1 ELSE NULL END) OVER()
AS [TotalActiveSitesCount]