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一样思考;-)