Как выбрать последнюю строку по user_id - PullRequest
2 голосов
/ 14 мая 2011

У меня есть следующая таблица:

content: id, user_id, markdown

Как выбрать последний идентификатор, созданный определенным пользователем?

SELECT * FROM content
WHERE user_id = 2

Итак, если строки 12, 13 и 14 имеют user_id как 2, я хочу выбрать строку 14

Ответы [ 2 ]

8 голосов
/ 14 мая 2011
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
2 голосов
/ 14 мая 2011

В MySQL я думаю, что вам нужно:

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

Вы можете сделать выборку и выбрать метку времени MAX (которая может быть более безопасной), но это не похоже на то, что у вас есть метка времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...