[MySQL]Группировка по условия

LEXAlForpostl

Мой дом здесь!
Регистрация
21 Май 2008
Сообщения
765
Реакции
228
Здравствуйте.
2 таблицы
Users (`id`, `name`)
Messages (`id`, `sender_user_id`, `receiver_user_id`, `title`, `text`, `time`)

Необходим запрос, который вместо messages.id из `sender_user_id`, `receiver_user_id` подставляет users.name и группирует все пары `sender_user_id`, `receiver_user_id` и наоборот `receiver_user_id`, `sender_user_id`
Две эти строки должны попасть в одну группу.
`sender_user_id`, `receiver_user_id`
1(айди первого юзера), 2 (айди второго юзера)
2(айди второго юзера) , 1(айди первого юзера)

Без группировки запрос у меня получится вот такой:
SELECT
*,
`users`.`id` as user_id
FROM
`messages`
JOIN `users` ON `messages`.`sender_user_id` = `users`.`id`
WHERE
`messages`.`receiver_user_id` = '" . $user_info->id . "'
OR
`messages`.`sender_user_id` = '" . $user_info->id . "'
ORDER BY
`messages`.`time` DESC

Но запрос выдает все сообщения "простынёй",а мне надо только последнее сообщение из каждой переписки конкретного юзера (не важно входящее или исходящее сообщение).
 

s0urce

Писатель
Регистрация
11 Июл 2016
Сообщения
4
Реакции
1
Уважаемый,
Вы бы разместили здесь sql скрипт для создания и наполнения данных таблиц. Таким образом специалисты могли бы создать ваши таблицы, не потратив на это времени. Уважайте время специалистов, оно обычно стоит денег.
И далее, Вы разместили бы пример результата запроса в том виде, в котором хотите получить.
Тогда было бы более-менее понятно, что нужно сделать.
 
Сверху