首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL合并两个计数组

SQL合并两个计数组
EN

Stack Overflow用户
提问于 2020-07-03 06:52:59
回答 3查看 53关注 0票数 1

你好,任何关于如何实现以下目标的提示。

代码语言:javascript
复制
select GENDER, count(AGENT_CODE) as Total_Agents from Agents group by Gender

结果:

代码语言:javascript
复制
GENDER Total_Agents
F      4
M      8

这是:

代码语言:javascript
复制
select count(*) as Total_Customers, Agents.GENDER 
from Agents join Customer 
on Agents.AGENT_CODE = Customer.AGENT_CODE 
group by Agents.GENDER

结果:

代码语言:javascript
复制
Total_Customers GENDER
11              F
14              M

我尝试了以下几点:

代码语言:javascript
复制
select count(AGENT_CODE) as Count,Gender as Gender from Agents group by Gender
union
select count(*) as Count, Agents.GENDER from Agents join 
Customer on Agents.AGENT_CODE = Customer.AGENT_CODE
group by Agents.GENDER

结果:

代码语言:javascript
复制
Count Gender 
4     F
11    F 
8     M
14    M

即使这样也失败了

代码语言:javascript
复制
select count(Agents.AGENT_CODE) as Total_Agents, count(Customer.AGENT_CODE) as 
Total_Customers, Agents.GENDER 
from Agents join Customer on Agents.AGENT_CODE = Customer.AGENT_CODE 
group by Agents.GENDER;

Total_Customers Total_Agents Agents_Gender
       14           14             M
       14           11             F

预期输出:所有的表都是这样的:

代码语言:javascript
复制
Total_Agents Total_Customers Agents_Gender
8             14             M
4             11             F

表结构

  • 代理
  • 客户
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-07-03 09:33:51

您必须计算不同的agent_codes和cust_codes:

代码语言:javascript
复制
select  
  count(distinct a.agent_code) Total_Agents,
  count(distinct c.cust_code) Total_Customers,
  a.gender
from agents a inner join customer c 
on a.agent_code = c.agent_code
group by a.gender
票数 2
EN

Stack Overflow用户

发布于 2020-07-03 06:58:56

请使用以下查询,

代码语言:javascript
复制
select count(Agents.AGENT_CODE) as Total_Agents, count(Customer.AGENT_CODE) as 
Total_Customers, Agents.GENDER 
from Agents join Customer on Agents.AGENT_CODE = Customer.AGENT_CODE 
group by Agents.GENDER;
票数 0
EN

Stack Overflow用户

发布于 2020-07-03 09:19:03

我不知道它是否有效,但您能否将这些数据和结构放入:sqlfiddle.com,以便我们能够测试和查看结果,甚至在出错时修改我的答案。

代码语言:javascript
复制
SELECT
  (select count(AGENT_CODE) as Count from Agents group by Gender) as Total_Agents,
  (select count(*) as Count, Agents.GENDER from Agents 
     join Customer on Agents.AGENT_CODE = Customer.AGENT_CODE
      group by Agents.GENDER
  ) as Total_Customers, 
  GENDER
FROM Agents
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62709974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档