Задать вопрос
Antonchik
@Antonchik
Программирую на HTML

Как правильно написать запрос?

Есть две таблицы первая называется dialogs у неё есть поле id, и вторая таблица messages которая ссылается на id диалога и у которой есть поле в которое записывается время отправки сообщения мне нужно сделать так что-бы я получил диалоги по времени отправки последнего сообщения этого диалога то есть диалоги в которых сообщения отправлялись раньше должны быть сверху а в тех что позже снизу и чтобы диалоги в которых нету сообщений выводились тоже.
  • Вопрос задан
  • 158 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
rpsv
@rpsv
делай либо хорошо, либо никак
SELECT DISTINCT dialogs.* 
FROM dialogs LEFT JOIN messages ON dialogs.id = messages.id_dialog 
ORDER BY messages.time ASC, dialogs.id ASC
Ответ написан
Комментировать
@curator
SELECT
    dialogs.id,
    MAX(messages.created_at) AS createdAt
FROM
    dialogs
LEFT JOIN
    messages
    ON messages.dialog_id = dialogs.id
GROUP BY
    dialogs.id 
ORDER BY
    createdAt DESC
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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