Как вывести из базы только последние строки с разным значением id _user?

Пытаюсь сделать встроенную почту на сайте, есть таблица:

id id_user komy text id_room time

Как вывести из неё только последние сообщения отправленные от разных id_user, но с одинаковым komy?

Пробовал

SELECT * FROM `nano_mess` WHERE `komy`='$id_login' ORDER BY `time` DESC LIMIT 1

выводит только одно последнее сообщение и всё, сообщения от остальных пользователей просто не выводит.
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
DanArst
@DanArst
Гриффиндор в моде при любой погоде!
SELECT id, id_user, komy, text, id_room, MAX(time) 
FROM nano_mess 
WHERE komy = '$id_login'
GROUP BY id_user;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@nozzy
Silex, Symfony, Laravel, SQL
select * from `nano_mess` t1
inner join (
	select id_user, max(time) as max_time from `nano_mess`
	group by id_user
) t2 on t2.user_id = t1.user_id and t2.max_time = t1.time
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы