示例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”也是不同表的外键。
答案 0 :(得分: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