2014-09-11 35 views
0
  • 我有一个像这个 -应用聚合函数的OrderBy子句中DQL

    $i=0; 
    $max_result=50; 
    $qb=$this->em->createQueryBuilder(); 
    $from='Entities\EventVisitor evtvstr'; 
    $qb->select('evtvstr.user, evtvstr.metadata, u.id') 
    ->add('from', $from) 
    ->groupBy('evtvstr.user') 
    ->orderBy('?') 
    ->setFirstResult($i) 
    ->setMaxResults($max_result) 
    ->distinct(); 
    $query = $qb->getQuery(); 
    $query->getSQl(); 
    $results = $query->getResult(); 
    print_r($results); 
    
  • 一个选择DQL查询现在我想通过申请MAX(创建)(在?我的查询),以便条款。 我该怎么做。

回答

0

您可以通过max_created

$qb=$this->em->createQueryBuilder(); 
$from='Entities\EventVisitor evtvstr'; 
$qb->select('evtvstr.user, evtvstr.metadata, u.id') 
->addSelect('max(created) AS HIDDEN max_created') 
->add('from', $from) 
->groupBy('evtvstr.user') 
->orderBy('max_created') 
->setFirstResult($i) 
->setMaxResults($max_result) 
->distinct(); 
使用 ->addSelect('max(created) AS HIDDEN max_created'),然后顺序
相关问题