2016-01-31 134 views
0

你好,我有一个表w /以下信息。postgres sql查询使用group by子句和子查询

agent (agent_id, salary, city, country) 

我试图做出fullfils这个请求的查询...

“在每个国家至少有6个城市名单代理商代理的数量和工资总额。”

我的问题是如何组织不安全的国家和统计与该国相关城市的数量。我不太确定如何执行所需的子查询或group by子句。我正在尝试像下面这样的东西...

select COUNT(agent_id) as numOfAgents, SUM(salary) as Salary, DISTINCT country 
from agent 
where city = (select COUNT(city) from agent where city > '5') 

我知道这个查询不起作用,我需要以某种方式介绍group by子句。

回答

2

这是一个GROUP BY语句的HAVING从句谓语:

SELECT COUNT(agent_id) AS numOfAgents, SUM(salary) as Salary, country 
FROM agent 
GROUP BY country 
HAVING COUNT(DISTINCT city) > 5 

出现的HAVING子句中的COUNT聚合函数,计算每个国家不同城市的数量。

+0

谢谢你的解释。 – user3622460