在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,從而篩選出最新的記錄。這樣就可以保留最新的記錄并去重。