我们可以在唯一的查询中有两个聚合count()函数吗?
问题描述:
一个公司可以有一个或多个报价 一个报价有一些工作岗位我们可以在唯一的查询中有两个聚合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)
是通过多个查询执行此操作的唯一方法是什么?
答
我想你想要不同公司的数量?
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
是的。提示:他们可以是子查询 – 2012-04-20 11:16:28
是的,你可以,你也可以使用嵌套的聚合功能:) – Milee 2012-04-20 11:17:38