选择列为关系的最新id结果

时间:2015-05-11 18:56:33

标签: mysql sql

我目前有以下代码,我从userID为129的列关系中选择profile_picture,我怎么尝试添加id为max的地方,并实现排除只选择包含profile_picture的行。

我需要查询来从媒体中选择其中的关系是profile_picture和id = 129以及profile_picture的最大ID

SELECT * FROM media WHERE userID = 129 AND relation = 'profile_picture' AND id=(
    SELECT max(id) FROM media.relation
    )

2 个答案:

答案 0 :(得分:0)

根据提供的有限信息,我猜你几乎是对的;你只需要将WHERE(除了当然的id部分)移动到子查询。 (并且我会猜测media.relation只是media

SELECT * 
FROM media 
WHERE id = (
   SELECT max(id) 
   FROM media 
   WHERE userID = 129 AND relation = 'profile_picture'
);

答案 1 :(得分:0)

使用LIMIT并订购:

SELECT * 
FROM media 
WHERE userID = 129 AND relation = 'profile_picture'
ORDER BY id DESC
LIMIT 1