溫馨提示×

SQL去重時如何保留最新記錄

sql
小樊
335
2024-06-13 12:56:02
欄目: 云計(jì)算

在SQL中進(jìn)行去重并保留最新記錄,一種常用的方法是使用子查詢結(jié)合INNER JOIN語句。以下是一個示例SQL查詢,假設(shè)我們有一個名為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;

在上面的查詢中,我們首先使用子查詢計(jì)算每個name字段的最新timestamp,然后將這個結(jié)果與原始表進(jìn)行INNER JOIN,從而篩選出最新的記錄。這樣就可以保留最新的記錄并去重。

0