Php mysql左加入,按同一用户分组并显示最后结果

Php mysql左加入,按同一用户分组并显示最后结果,php,mysql,group-by,left-join,Php,Mysql,Group By,Left Join,基本上,我想创建一个列表,显示每个用户的最后一条消息 我尝试了以下查询: SELECT * FROM messages LEFT JOIN users ON message_by = user_mail WHERE message_by = 'currect user' OR message_to = 'currect user' AND message_time IN ( SELECT max(message_time) FROM messages GROUP

基本上,我想创建一个列表,显示每个用户的最后一条消息

我尝试了以下查询:

SELECT * FROM messages 
LEFT JOIN users ON message_by = user_mail
WHERE message_by = 'currect user' 
OR message_to = 'currect user' 
AND message_time IN (
    SELECT max(message_time) 
    FROM messages 
    GROUP BY message_token
)
GROUP BY message_token 
ORDER BY message_token DESC
*消息\u令牌对于两个用户之间的消息是相同的


我得到的结果没有显示上次的结果,我哪里出错了?

好的,今年第一次:

SELECT
    x.*
FROM
    my_table x
JOIN
    (
    SELECT
        grouping_id
        ,MAX(ordering_id) max_ordering_id
    FROM
        my_table
    GROUP BY
        grouping_id
    ) y
ON
    y.grouping_id = x.grouping_id
AND
    y.max_ordering_id = x.ordering_id;

这是一个常见问题。新年快乐什么常见问题解答?新年快乐这里你们所有人这个问题每天都被问(令人沮丧的是,得到了回答)在SO和其他地方(包括手册)甚至谷歌这次也帮不上忙:)如果这里有我的问题的答案,但我没有找到,你能告诉我吗?好吧,现在我很困惑。从同一张表中选择并加入(我的桌子)?祝贺你。你开始像sqler一样思考;-)