要在MySQL中進行SELECT查詢并去重同時保留最新記錄,可以使用子查詢和INNER JOIN的方法。
例如,假設(shè)有一個表格名為records
,包含以下字段:id
、name
和timestamp
,timestamp
為記錄的時間戳。要查詢?nèi)ブ夭⒈A糇钚掠涗浀臄?shù)據(jù),可以使用以下查詢:
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
對應(yīng)的最新記錄的時間戳max_timestamp
,然后將該子查詢與原始表records
進行內(nèi)連接,以獲取每個name
對應(yīng)的最新記錄的完整數(shù)據(jù)。