Я пытаюсь получить последний результат каждого разговора между двумя пользователями без преобладания. Я посмотрел на несколько примеров в Интернете, таких, какПолучите MAX-результаты сообщений pm
[php Mysql Grouping and Ordering user messages together
И более продвинутом запрос
Моя структура базы данных ниже. Мои разговоры основаны на получении идентификаторов обоих message_creator
и message_target
, чтобы связать их в один чат.
message_id,
message_content,
message_target,
message_creator,
message_status,
message_time
мне нужно message_status
также выбрать 1 и 2 в запросе, так что если пользователь прочитал последнее сообщение все еще показывает, как последнее сообщение в беседе.
Вот запрос, который у меня есть.
$callmessage=" SELECT message_id,MAX(message_content) AS message_content ,message_target,message_status,message_creator,message_throughurl,MAX(message_time) AS message_time FROM messages WHERE message_target='$user1_id' OR message_creator='$user1_id' AND message_status=1 OR message_status=2
Group By
(if(message_creator > message_target, message_creator,message_target))
,(if(message_creator > message_target, message_target,message_creator))
ORDER BY message_id DESC";
Я не пользуюсь user2_id. Также вы удалили группу сообщениями, и это является источником моей проблемы. Мне нужно получить последнее message_id каждой группы – dave