У меня есть таблица сообщений с полями id, время, isread, message, messagestatus, получатель и пользователь.Я хочу получить последнее сообщение (основанное на времени) пользователя с идентификатором 1, отправленного или полученного любым другим пользователям.
, например, если пользователь с идентификатором 1 (отправитель) отправляет сообщение пользователю сидентификатор 2 (получатель), и если пользователь с идентификатором 2 отправляет сообщение пользователю с идентификатором 1.
должно быть выбрано только самое последнее сообщение, отправленное между ними. Моя уже существующая таблица выглядит так:
я пыталсяSELECT * from (SELECT MAX(time) as time ,sender,receiver from message group by sender,receiver) as f
where receiver=1 or sender=1 limit 20
, но он отображает только отправителя, получателя и время, в то время как другие столбцы, такие как message, id, messagestatus и read, опущены, плюс он не находит общее последнее сообщение, отправленное между двумя пользователями, а вместо этого находитсамое последнее сообщение, отправленное между user1 и другим пользователем, когда user1 является отправителем, а другой пользователь является получателем, а также находит последнее сообщение, когда user1 является получателем, а другой пользователь является отправителем.