如何通过user_id选择最新行

时间:2011-05-13 21:58:10

标签: mysql sql

我有下表:

content: id, user_id, markdown

如何选择某个用户创建的最新ID?

SELECT * FROM content
WHERE user_id = 2

因此,如果行12,13和14的user_id为2,我想选择第14行

2 个答案:

答案 0 :(得分:8)

SELECT * FROM content
WHERE user_id = 2
ORDER BY id DESC
LIMIT 1

此外,如果您有一个用户表,并希望获得每个用户的最新记录:

SELECT c.*
FROM content c
    INNER JOIN (SELECT user_id, max(id) as maxid 
                FROM content 
                GROUP BY user_id) as c1 on c.id = c1.maxid

答案 1 :(得分:2)

在MySQL中,我认为你需要:

SELECT *
FROM content
WHERE user_id = 2
ORDER BY id DESC
LIMIT 1

您可以进行子选择并选择MAX时间戳(可能更安全) - 但看起来您没有时间戳。