从INNER JOIN中选择最后一条记录并进行分组


Selecting last record from INNER JOIN and grouping

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