温馨提示×

mysql select去重时保留最新记录

小樊
287
2024-06-25 09:32:34
栏目: 云计算
亿速云mysql数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

要在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对应的最新记录的完整数据。

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:MySQL union查询的效率与数据量有何关系

0