gpt4 book ai didi

mysql - 如何使用GROUP BY获取每个组中的最新记录?

转载 作者:行者123 更新时间:2023-11-29 18:07:50 24 4
gpt4 key购买 nike

假设我有一个名为 messages 的表,其中包含以下列:

id | from_id | to_id | subject | message | timestamp

我只想从每个用户那里获取最新消息,就像您在深入了解实际线程之前在 Facebook 收件箱中看到的那样。

这个查询似乎让我接近我需要的结果:

SELECT * FROM messages GROUP BY from_id

但是,查询为我提供了每个用户最旧的消息,而不是最新的消息。

这个问题我实在是想不通。

最佳答案

您应该找出每个组(子查询)中的最后一个时间戳值,然后将此子查询加入到表中 -

SELECT t1.* FROM messages t1
JOIN (SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id) t2
ON t1.from_id = t2.from_id AND t1.timestamp = t2.timestamp;

关于mysql - 如何使用GROUP BY获取每个组中的最新记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47678106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com