温馨提示×

mysql select去重时保留最新记录

小樊
81
2024-06-25 09:32:34
栏目: 云计算

要在MySQL中进行SELECT查询并去重同时保留最新记录,可以使用子查询和INNER JOIN的方法。

例如,假设有一个表格名为records,包含以下字段:idnametimestamptimestamp为记录的时间戳。要查询去重并保留最新记录的数据,可以使用以下查询:

SELECT r1.*
FROM records r1
INNER JOIN (
    SELECT name, MAX(timestamp) AS max_timestamp
    FROM records
    GROUP BY name
) r2 ON r1.name = r2.name AND r1.timestamp = r2.max_timestamp;

这个查询首先在子查询中找到每个name对应的最新记录的时间戳max_timestamp,然后将该子查询与原始表records进行内连接,以获取每个name对应的最新记录的完整数据。

0