如何写数如果按人员分组?
我必须计算每个官员的情况,其中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))