Итак, у меня есть запрос, который выбирает 1 сообщение от каждого пользователя, упорядоченного по дате DESC, но выбирает первое сообщение для каждой группы. Мне нужно выбрать последнее сообщение по дате из каждой группы (каждый пользователь). Это мой запрос:
SELECT people.id, people.avatar, people.firstname, people.lastname, LEFT(messages.message, 90) AS message, messages.seen, messages.date FROM people INNER JOIN messages ON people.id = messages.sender_id WHERE reciever_id = '". $user_data['id'] ."' GROUP BY sender_id ORDER BY date DESC limit 11
Пожалуйста, извините мой синтаксис, если он немного выключен, но я, вероятно, попробую что-то вроде этого.
SELECT people.id, people.avatar, people.firstname, people.lastname, LEFT(msg.message, 90) AS message, msg.seen, msg.date FROM people INNER JOIN (SELECT message, seen, date, sender_id FROM messages GROUP By sender_id ORDER By date DESC LIMIT 1) msg ON people.id = msg.sender_id WHERE reciever_id = '". $user_data['id'] ."'