如何写数如果按人员分组?

我必须计算每个官员的情况,其中Survey ='abc'和Activity ='FI',(结果='C'或结果='D')

这是我的完整的SQL

SELECT officer, NULL, SUM(IIF(ISNUMERIC(mkt) = TRUE AND Survey='dasda' AND Activity='FI' AND Outcome = 'C', Totalmin, 0 ) / 60), SUM(Non), SUM(ICC), NULL, NULL, NULL, COUNT(IIF(Survey='abc' AND Activity='FI' AND (Outcome='C'or Outcome='D'), Totalmin, 0)) FROM [DB$] GROUP BY officer " ' 

有问题的部分是

 Count(IIF( Survey='abc' and Activity='FI' and (Outcome='C'or Outcome='D'), Totalmin, 0 )) 

但是,我产生的结果不起作用。 计数结果远不止于答案。

COUNT()计算非NULL值的数量。 因为0不为空,所以计数。 这里有两个选项:

 COUNT(IIF(Survey='abc' AND Activity='FI' AND Outcome IN ('C', 'D'), Totalmin, NULL)) 

要么

 SUM(IIF(Survey='abc' AND Activity='FI' AND Outcome IN ('C', 'D') AND Totalmin IS NOT NULL, 1, 0))