【问题标题】:Counting 2 fields while grouping by 1按 1 分组时计数 2 个字段
【发布时间】:2014-07-22 10:37:14
【问题描述】:
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

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

【问题讨论】:

  • 应该发布您的代码,以便我们帮助修复它

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


【解决方案1】:

如果您使用的是 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。

【讨论】:

  • 完美!正是我需要的。
  • 很高兴你把它整理好了!祝你好运。
【解决方案2】:
SELECT Agent,
  COUNT(CALL) AS CallS,
  SUM(IF(Success="NO"),1,0) AS Failed
FROM my_table
GROUP BY Agent

【讨论】:

  • 该表完美地返回了我想要的所有字段,但“成功的计数”除外。无论“是”还是“否”,它都会给我整个计数
  • 我的回答不符合你的预期?
  • 它正在提供所需的输出,但是它正在计算字段 Success 而不管其值如何。因此,无论值如何,它都会将所有调用显示为失败。
  • 如果你给出正确的预期输出和解释,那么无论如何都会得到想要的答案。
  • @Sadikhasan,我认为 Chuck 已经得到了答案。请参考我提供的其他答案。
猜你喜欢
  • 1970-01-01
  • 2020-10-02
  • 2021-04-19
  • 2014-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-31
相关资源
最近更新 更多