4

mysql查询示例:

SELECT
a1.*
FROM
agreement a1
LEFT JOIN agreement a2 on a1.agreementType = a2.agreementType and a2.id > a1.id
WHERE
a2.id is null

查询的目的是获取返回类型的最后一个协议。有很多类型,我只想列出每种类型的每个最新协议。我上面的示例查询按预期工作,但在 DQL 中没有。

鉴于我没有引用自身的列,我将如何在 DQL 中执行此操作?请注意,“agreementType”也是不同表的外键。

4

1 回答 1

13

弄清楚了。以为我会分享。

        SELECT
            a1
        FROM
            My\Model\Agreement a1
            LEFT JOIN My\Model\Agreement a2
                WITH a1.agreementType = a2.agreementType AND a2.id > a1.id
        WHERE
            a2.id IS NULL
于 2013-09-04T23:25:08.020 回答