2016-07-18 4 views
-3

У меня есть таблица под названием msg где я храню все сообщения. Я хочу выбрать все строки с уникальным Пользователь, но только те, у кого MAX Id Поле.Запрос Mysql GROUP by and ORDER by

+0

SELECT * FROM сообщ WHERE MAX_Id IS NOT NULL GROUP BY пользователя –

+2

сообщению ваша схема таблицы и образец данных. ожидаемый результат и/или sqlfiddle были бы очень полезны – Alex

+0

его не MAX_Id .... я хочу выбирать строки с уникальным полем Пользователь, но с максимальным полем идентификатора –

ответ

1

http://sqlfiddle.com/#!9/9ebdc/1

вы можете начать с нахождения MAX:

SELECT 
MAX(id) max_id 
FROM msg 
GROUP BY user_id; 

, а затем использовать его в качестве фильтра:

SELECT * 
FROM msg 
WHERE id IN (
SELECT 
max(id) max_id 
FROM msg 
GROUP BY user_id);