【问题标题】:Translate SQL query to Doctrine DQL (join and group by)将 SQL 查询转换为 Doctrine DQL(加入和分组依据)
【发布时间】:2020-08-26 10:33:32
【问题描述】:

我需要将 SQL 查询转换为 Doctrine DQL。

SELECT g.id, g.round_id, g.score, g.prize_id
FROM game g
INNER JOIN (
    SELECT prize_id, MAX(score) score
    FROM game
    GROUP BY prize_id
) g2 
ON g.prize_id = g2.prize_id AND g.score = g2.score
ORDER BY prize_id DESC

怎么做?

【问题讨论】:

    标签: sql join group-by dql


    【解决方案1】:

    我在 Doctrine DQL 中找到了如何做到这一点:

    return $this->createQueryBuilder('g')
        ->leftJoin('App\Entity\Quizz\Game', 'g2', 'WITH', 'g.prize = g2.prize AND g.score < g2.score')
        ->andWhere('g2.prize IS NULL')
        ->getQuery()
        ->getArrayResult();
    

    【讨论】:

      猜你喜欢
      • 2015-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-13
      • 1970-01-01
      • 2017-04-12
      • 2021-12-17
      相关资源
      最近更新 更多