Задать вопрос
@kirillantv

Как сгруппировать сообщения по теме, отправителю и получателю?

Добрый день, господа! Ломаю голову и всё никак не могу сломать. А задача вроде не такая сложная.
В таблице message есть следующие колонки id, object_id, from, to. Хочу одним запросом вывести последние сообщения диалогов. В свою очередь, диалоги группируются не только по from и to, но и по object_id. То есть, если у нас одни и те же собеседники, но разные темы, то это будут разные диалоги. Что-то похожее есть в gmail.
Нагуглил примеры на группировку по отправителю и получателю, но как ещё прицепить тему, не могу понять.
Заранее спасибо!
  • Вопрос задан
  • 466 просмотров
Подписаться 3 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
qonand
@qonand
Software Engineer
Насколько я понимаю message это именно таблица сообщений а не диалогов, в самом простом случае последние сообщения можно выбрать так
SELECT
	*
FROM
	`messages`
WHERE
	`id` IN (
		SELECT
			max(`id`)
		FROM
			`messages`
		GROUP BY
			`object_id`,
			`from`,
			`to`
	)
Ответ написан
Ваш ответ на вопрос

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

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