温馨提示×

SQL去重时如何保留最新记录

sql
小樊
344
2024-06-13 12:56:02
栏目: 云计算

在SQL中进行去重并保留最新记录,一种常用的方法是使用子查询结合INNER JOIN语句。以下是一个示例SQL查询,假设我们有一个名为table的表,其中包含id、name和timestamp字段,我们希望按照name字段去重并保留最新的记录:

SELECT t1.id, t1.name, t1.timestamp
FROM table t1
INNER JOIN (
    SELECT name, MAX(timestamp) AS max_timestamp
    FROM table
    GROUP BY name
) t2 ON t1.name = t2.name AND t1.timestamp = t2.max_timestamp;

在上面的查询中,我们首先使用子查询计算每个name字段的最新timestamp,然后将这个结果与原始表进行INNER JOIN,从而筛选出最新的记录。这样就可以保留最新的记录并去重。

0