Php 在每个组中选择一行
我有一张桌子:Php 在每个组中选择一行,php,symfony,doctrine,Php,Symfony,Doctrine,我有一张桌子: id | user | date ---+----------+------ 1 | name1 | 01-02-2020 2 | name3 | 02-04-2020 3 | name2 | 01-02-2020 4 | name3 | 04-05-2020 5 | name2 | 04-02-2020 我想按名称按结果分组,只得到一行(最新日期) 例外输出: id | name | date ---+----------+------ 1 | name1
id | user | date
---+----------+------
1 | name1 | 01-02-2020
2 | name3 | 02-04-2020
3 | name2 | 01-02-2020
4 | name3 | 04-05-2020
5 | name2 | 04-02-2020
我想按名称按结果分组,只得到一行(最新日期)
例外输出:
id | name | date
---+----------+------
1 | name1 | 01-02-2020
5 | name2 | 04-02-2020
4 | name3 | 04-05-2020
到目前为止我所做的:
->select('f')
->from('table', 'f')
->from('User', 'u')
->where('u.id = f.user')
->orderBy('f.date', 'DESC')
->getQuery(); ```
编辑:我删除SetMaxResult 使用GroupBy、orderBy:
$qb = $this->createQueryBuilder('f')
->leftJoin('f.user', 'u')
->groupBy('u.name')
->orderBy('f.date', 'DESC');
我没有测试,但它应该可以工作。尝试添加一个分组。