0

我希望能够写出ORDER BY revision_id DESC LIMIT 1类似于Having Max(revision_id),尽管这不像我想把它放在WHERE子句附近那样。放入Max(revision_id)选择,返回修订 ID 的最大值,但其余字段不应该与它一起使用(它是连接中的一个)。

询问:

SELECT * FROM field_data_field_city
LEFT JOIN profile on(field_data_field_city.entity_id = profile.pid)
LEFT JOIN users on(profile.uid = users.uid)
WHERE users.uid = 1 
ORDER BY revision_id DESC
LIMIT 1`

想要摆脱限制,以便我可以一次为多个用户执行此操作

我试过了

GROUP BY users.uid
ORDER BY revision_id DESC

但我得到最低的revision_id,我想要最高的

4

2 回答 2

0

你可以试试下面:

WHERE revision_id=(SELECT MAX(revision_id) FROM table)
于 2012-06-21T03:29:08.580 回答
0

假设字段 revision_id 在您的表配置文件中,您可以使用:

SELECT *
FROM field_data_field_city
LEFT JOIN profile ON field_data_field_city.entity_id = profile.pid
LEFT JOIN users ON profile.uid = users.uid
WHERE profile.revision_id IN (
    SELECT MAX(p.revision_id)
    FROM profile p
    GROUP BY p.uid) T;
于 2012-06-21T07:45:08.350 回答