在按1分组时计算2个字段

时间:2014-07-22 10:37:15

标签: sql vba ms-access ms-access-2007

Agent  Call  Success
John  |  X  | Yes |
John  |  X  | Yes |
John  |  X  | No  |
Jane  |  X  | Yes |
Jane  |  X  | No  |
Jane  |  X  | No  |

我有一张类似于此的表格。我试图找到一种方法来获取一个选择查询来提取像这样的数据

Agent Calls  Failed
John |  3  |   1
Jane |  3  |   2

我尝试了计数,但在按代理分组时我无法同时执行这两项操作。

2 个答案:

答案 0 :(得分:3)

如果您使用MS Access,则查询将是

SELECT tmpTbl.Agent, 
       Count(tmpTbl.Calls) AS CountOfCalls, 
       Sum(IIf([tmpTbl].[Success]="No",1,0)) AS Failed
FROM tmpTbl
GROUP BY tmpTbl.Agent;

@Sadikhasan的代码可能适用于SQL而不是Access。

答案 1 :(得分:1)

SELECT Agent,
  COUNT(CALL) AS CallS,
  SUM(IF(Success="NO"),1,0) AS Failed
FROM my_table
GROUP BY Agent