2
我無法在我有的symfony2項目中得到這個查詢。如何在DQL中選擇具有MAX(列值)的行?
我表:
id course datetime numOrden
---|-----|------------|--------
1 | 1º | 04/11/2016 | 1
2 | 2º | 04/11/2016 | 2
5 | 3º | 04/11/2016 | 5
3 | 4º | 03/11/2016 | 4
4 | 5º | 03/11/2016 | 3
我需要得到其值在「numOrden」一欄是最大的過程(在這種情況下,將第3個療程)。爲此,我已經使用在Doctrine2以下查詢:
public function findCourse()
{
return $this->getEntityManager()->createQuery(
'SELECT c FROM BackendBundle:Curso c WHERE c.numOrden in (SELECT max(c.numOrden) FROM BackendBundle:Curso)')
->getResult();
}
或者
public function findCourse()
{
return $this->getEntityManager()->createQuery(
'SELECT c FROM Bundle:Course c WHERE c.numOrden=(SELECT max(c.numOrden) FROM Bundle:Course)')
->getResult();
}
但它顯示了以下錯誤:
[Syntax Error] line 0, col -1: Error: Expected Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS, got end of string. (500 Internal Server Error)
這就是問題所在。我以前嘗試過相同的別名,但我沒有嘗試另一個別名。謝謝!! – Joseph
嗨@Joseph歡迎您! – Matteo