2012-04-20 55 views
0

一个公司可以有一个或多个报价 一个报价有一些工作岗位我们可以在唯一的查询中有两个聚合count()函数吗?

所以:公司< =提供< = numJobs

SELECT Count(t_offer.fkCompany) AS companies, 
     Count(t_offer.id) AS offers, 
     Sum(t_offer.nJobs) AS numJobs 
FROM t_offer 

例如:

idOFFER fkCOMPANY  numJOBS 
    1   1   1 
    2   3   2 
    3   8   1 
    4   1   2 

查询应该是:

公司(3)< =报价(4)< = numJobs(6)

但结果是:

公司(4)< =报价(4)< = numJobs(6)

是通过多个查询执行此操作的唯一方法是什么?

+1

是的。提示:他们可以是子查询 – 2012-04-20 11:16:28

+0

是的,你可以,你也可以使用嵌套的聚合功能:) – Milee 2012-04-20 11:17:38

回答

1

我想你想要不同公司的数量?

SELECT Count(DISTINCT t_offer.fkCompany) AS companies, 
     Count(t_offer.id) AS offers, 
     Sum(t_offer.nJobs) AS numJobs 
FROM t_offer 
+0

是的,就是这样。但是我通过访问来实现,并且它不起作用,所以......也许直接向MySQL查询查询。 – Joe 2012-05-18 08:09:48

相关问题