MySQL數據庫中經常需要刪除表中有多條相同記錄,但保留最后一條記錄的需求。可以使用以下SQL語句進行實現。
DELETE FROM 表名 WHERE 主鍵 NOT IN ( SELECT Max(主鍵) FROM 表名 GROUP BY 去除重復的字段 );
這里的主鍵是指表中的唯一標識,也可以是組合主鍵。去除重復的字段是指在這些相同記錄之間去除哪些字段的重復值進行比較,并將它們視為相同記錄。
舉個例子,比如有一個賬戶表account,有兩條相同數據,具有相同的用戶名、郵箱地址和密碼,但注冊日期不同,我們可以使用以下SQL語句進行刪除,只保留最新的一條記錄。
DELETE FROM account WHERE user_id NOT IN ( SELECT Max(user_id) FROM account GROUP BY user_name, email, password );
上一篇python 該如何發展
下一篇python 語料庫問答