要在MySQL中进行SELECT查询并去重同时保留最新记录,可以使用子查询和INNER JOIN的方法。
例如,假设有一个表格名为records
,包含以下字段:id
、name
和timestamp
,timestamp
为记录的时间戳。要查询去重并保留最新记录的数据,可以使用以下查询:
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
对应的最新记录的完整数据。