1

我有一个需要用 DQL / Doctrine2 编写的复杂查询。伪查询(我省略了所有额外的连接/计算)是:

SELECT 
    a, SUM(b)
FROM (
    SELECT 
        a, SUM(b)
    FROM tbl
    GROUP BY a,c    
) calc
GROUP BY a

首先在 a 和 c 列上进行分组,然后在 a 上再次选择分组。

选择部分的(伪)代码在查询构建器中很容易:

$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 对象中吗?

4

0 回答 0