[英]select one row in each group 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
我想按名稱對結果進行分組,只得到一行(最新日期)
例外 output:
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');
我沒有測試,但它應該工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.