簡體   English   中英

select 每組一行 doctrine

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM