Вывод последних записей с пометкой прочтения

 
0
 
MySQL
ava
motorway | 29.03.2013, 22:25
Имеется таблица messages с полями id,uid,aid,date.
Нужно вывести из неё aid и uid для самой последней записи (новой по времени) для каждого uid.
Как вывести все uid - это понятно:

SELECT DISTINCT uid FROM messages

Теперь нужно найти для каждого из них aid для последнего по времени сообщения.
Приходит на ум использовать условие 

WHERE uid IN (SELECT DISTINCT uid FROM messages)
 для перебора всех uid.
А вот как прописать, чтобы выводилось aid для последней даты для каждого из этих uid, не соображу.
Некоторые варианты пробовал, но выводится несколько aid.
Кто может помочь?
Kommentare (3)
ava
Zloxa | 29.03.2013, 22:11 #
Цитата (motorway @  29.3.2013,  22:25 findReferencedText)
 вывести из неё aid и uid для самой последней записи (новой по времени) для каждого uid.

бабушкин метод
ava
password | 29.03.2013, 22:11 #
Можно попробовать так:

select a.* from messages a
inner join (select uid, max(date) as dd from messages group by uid) b on a.uid=b.uid and a.date=b.dd
ava
motorway | 29.03.2013, 23:11 #
Спасибо!
Первый способ только на свежую голову, насколько возможно.
Второй выглядит проще, надо бы освежить основы, join часто забывается )
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden