使用 GROUP BY 查找每个组中的最新记录
识别按特定列分类的每个组中的最新记录,例如发件人 ID,有两个选项需要考虑:
选项 1:确定最后一个时间戳值
此技术涉及查找每个组的最新时间戳值。此方法的示例查询是:
SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id
选项 2:连接计算值
另一种方法是将原始表与子查询的结果结合起来确定每个组的最大时间戳。以下查询举例说明了这种方法:
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;
通过使用这两种方法中的任何一种,您可以检索每个不同发件人 ID 的最新消息,从而提供最近对话的更全面的视图。
以上是如何使用SQL的GROUP BY查找每个组中最新的记录?的详细内容。更多信息请关注PHP中文网其他相关文章!