У меня есть таблица сообщений, которая содержит id, sender_id, receiver_id, message and conversation_id
Получить последнее сообщение от каждого разговора
(я соединил их conversation_id, что они делают, посылая первое сообщение, и если кто-то ответить, первый он поиск conversation_id из сообщений, где он является приемник и парень, где он является ответом отправителя и посылающим сообщение с таким же conversation_id)
Теперь в списке сообщений я хочу выводить один только один последний ряд в другой conversation_id
где sender_id='$my_id' OR receiver_id='$my_id'
Я использую DISTINCT
, но я получаю все строки всегда в качестве вывода:
SELECT DISTINCT conversation_id, sender_id, message
FROM messages
WHERE receiver_id='$my_id'
ORDER BY id DESC
Если вы хотите, рассмотрим следующие этой простой двухступенчатой курс действий: 1. Если вы еще этого не сделали, предоставьте правильные инструкции CREATE и INSERT (и/или sqlfiddle), чтобы мы могли легче реплицировать проблему. 2. Если вы еще этого не сделали, укажите желаемый результирующий набор, соответствующий информации, представленной на шаге 1. – Strawberry
вы можете использовать LIMIT 1, если вы хотите, чтобы последняя 1 запись. – shubham715
Просто 'LIMIT 1' bro. – peter