我試圖按字段(年)對實體進行分組並對其進行計數。如何通過在教義2計數?
代碼:
public function countYear()
{
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select('b.year, COUNT(b.id)')
->from('\My\Entity\Album', 'b')
->where('b.year IS NOT NULL')
->addOrderBy('sclr1', 'DESC')
->addGroupBy('b.year');
$query = $qb->getQuery();
die($query->getSQL());
$result = $query->execute();
//die(print_r($result));
return $result;
}
我似乎不能說COUNT(b.id) AS count
,因爲它給出了一個錯誤,並 我不知道作爲addOrderby(???, 'DESC')
值使用什麼?
我不認爲數據庫與DBAL有關係嗎?無論如何,它得到它的工作:'('\ My \ Entity \ Album','b') - > $ qb-> select('b.year,COUNT(b.id)AS mycount') - > where 'b.year IS NOT NULL') - > orderBy('mycount','DESC') - > groupBy('b.year');'感謝您指出關鍵字問題。 – Tjorriemorrie 2011-05-14 09:07:42
您的替代方法不起作用。此外,如果你想重複使用你的結果作爲子查詢 - (例如。orderBy)添加COUNT選擇不起作用。 – wdev 2011-11-01 14:56:14