基本上我想创建一个列表,显示每个用户的最后一条消息
我尝试过这个问题:
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
对于两个用户之间的消息,* message_token是相同的
我得到的结果没有显示最后的结果,我哪里出错?
答案 0 :(得分:0)
好的,这是今年的第一次:
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;