好的,所以我有一个查询,从每个用户中选择一条按日期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'] ."'