Мне нужна ваша помощь. В принципе, я пытаюсь получить уникальные значения из своих таблиц. У меня есть три таблицы, а именно: разговоры, беседы и сообщения.MySQL получает уникальные значения в убывающем порядке
Диалоги Таблица:
conversation_id user_id friend_id
1 1 2
2 6 1
3 1 7
4 1 3
Conversations_Messages Таблица:
cm_id conversation_id sender_id recipient_id message
1 1 1 2 Hello!
2 1 2 1 Hi!
3 1 1 2 Hola!
4 2 6 1 Ola!
5 2 1 6 Gutentag!
6 3 1 7 Eow
7 4 1 3 Eophu
Пользователи Таблица:
user_id name
1 Test
2 Pat
6 Ela
7 Sophia
Это то, что я пробовал:
SELECT c.conversation_id, cm.message,
CONCAT(u.firstname, ' ', u.lastname) AS sender,
CONCAT(u2.firstname, ' ', u2.lastname) AS recipient
FROM `conversations` AS c
JOIN conversation_messages AS cm
ON c.conversation_id = cm.conversation_id
JOIN users AS u
ON cm.sender_id = u.user_id
JOIN users AS u2
ON cm.recipient_id = u2.user_id
WHERE c.user_id = 1
GROUP BY cm.conversation_id
РЕЗУЛЬТАТЫ:
conversation_id message sender recipient
1 Hello! Test Pat
2 Ola! Ela Test
3
etc...
я получаю результаты, но первые сообщения возвращаются. Мне нужно вернуть последнее (по cm_Id) сообщение. Есть идеи? Я с радостью буду благодарен за вашу помощь!
Пожалуйста, отредактируйте ваш вопрос. «Уникальные значения для таблицы» довольно неоднозначны. Вы также должны предоставить желаемые результаты для соответствия данным образца. –
@GordonLinoff да, я сделаю –