@Steely

Как выбрать всех юзеров с последним статусом (две таблицы mysql)?

Есть две таблицы:

Юзеры (id, и т.д.)
Статусы юзеров (userid, status, datetime)

Требуется выбрать всех юзеров с последним статусом по времени. Как это сделать одним запросом?
  • Вопрос задан
  • 2268 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Steely Автор вопроса
Пока придумал вот так, можно другой есть вариант?

SELECT *
FROM users
JOIN status ON status.userid=users.id
WHERE status.datetime = (SELECT MAX(datetime) FROM status WHERE users.id = status.userid)
Ответ написан
@hurgadan
select u.*, a.status, a.last_time
from 
    users u, 
    (select `userid`, `status`, max(`datetime`) as last_time from `status` group by `userid`, `status` ) as a
where a.user_id = u.user_id
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы