Sql 如何在DQL中选择具有最大值(列值)的行?

Sql 如何在DQL中选择具有最大值(列值)的行?,sql,doctrine-orm,dql,Sql,Doctrine Orm,Dql,我无法在我拥有的symfony2项目中获取此查询 我的桌子: 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 我需要得到“numOr

我无法在我拥有的symfony2项目中获取此查询

我的桌子:

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”列中的值为最大值的课程(在本例中是第三门课程)。为此,我在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();
}

但它显示了以下错误:

[Syntax Error] line 0, col -1: Error: Expected Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS, got end of string. (500 Internal Server Error)  

尝试在子选择中使用另一个别名:

    public function findCourse()
{
    return $this->getEntityManager()->createQuery(
    'SELECT c FROM Bundle:Course c WHERE c.numOrden=(SELECT max(co.numOrden) FROM Bundle:Course co )')
    ->getResult();
}

希望这有帮助

这就是问题所在。我以前尝试过相同的别名,但没有尝试其他别名。非常感谢。
    public function findCourse()
{
    return $this->getEntityManager()->createQuery(
    'SELECT c FROM Bundle:Course c WHERE c.numOrden=(SELECT max(co.numOrden) FROM Bundle:Course co )')
    ->getResult();
}