我有一个需要用DQL / Doctrine2编写的复杂查询。 伪查询(我遗漏了所有额外的连接/计算)是:
SELECT
a, SUM(b)
FROM (
SELECT
a, SUM(b)
FROM tbl
GROUP BY a,c
) calc
GROUP BY a
首先按a和c列分组,然后再选择一个分组。
在querybuilder中,select部分的(伪)代码很容易:
$queryBuilder = $this->entityManager->createQueryBuilder();
$queryBuilder
->select(array('tbl'))
->addSelect('SUM(tbl.b)')
->from('\Model\MyModel', 'tbl')
->groupBy('a')
->addGroupBy('c');
$query = $queryBuilder->getQuery();
$results = $query->getResult();
但是,如何再次查询此结果?
这可能吗?
或者我可以以某种方式将它们放在1个queryBuilder对象中吗?