Mysql刪除重復數(shù)據(jù)通用SQL的兩種方法
在日常開發(fā)過程中,可能會出現(xiàn)一些 bug,導致 Mysql 數(shù)據(jù)庫數(shù)據(jù)重復,需要刪除重復數(shù)據(jù),這里記錄下刪除重復數(shù)據(jù)的通用 SQL ,方便以后需要時查閱
1、寫法一
DELETE t1 FROM tbl_name t1 INNER JOIN tbl_name t2 WHERE t1.id < t2.id AND t1.column_1 = t2.column_1 AND t1.column_2 = t2.column_2;
2、寫法二
DELETE FROM tbl_name WHERE EXISTS ( SELECT * FROM ( SELECT max(id) AS id, column_1, column_2 FROM tbl_name GROUP BY column_1, column_2 HAVING count(1) > 1 ) t WHERE tbl_name.column_1 = t.column_1 AND tbl_name.column_2 = t.column_2 AND tbl_name.id < t.id )
重復數(shù)據(jù)中,保留 id 最大的,其余都刪除,SQL 中 tbl_name 表示需要刪除重復數(shù)據(jù)的表名,column_1 和 column_2 是用來分組確認重復數(shù)據(jù)的字段。
到此這篇關(guān)于Mysql刪除重復數(shù)據(jù)通用SQL的兩種方法的文章就介紹到這了,更多相關(guān)Mysql刪除重復SQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL存儲引擎InnoDB與Myisam的區(qū)別分析
INNODB會支持一些關(guān)系數(shù)據(jù)庫的高級功能,如事務(wù)功能和行級鎖,MYISAM不支持。MYISAM的性能更優(yōu),占用的存儲空間少。所以,選擇何種存儲引擎,視具體應(yīng)用而定。2022-12-12Mysql 取字段值逗號第一個數(shù)據(jù)的查詢語句
Mysql 取字段值逗號第一個數(shù)據(jù),在某些情況下還是比較實用的,主要使用到了left函數(shù)及其他等等,感興趣的朋友可以參考下2013-10-10MySQL 在創(chuàng)建和刪除用戶時出現(xiàn)的ERROR 1396 (HY000)錯誤問題解決
MySQL作為流行的數(shù)據(jù)庫系統(tǒng),涉及用戶管理時可能遇到ERROR1396錯誤,該錯誤發(fā)生在嘗試創(chuàng)建已存在的用戶或刪除不存在的用戶時,解決方法包括檢查用戶存在性或選擇不同用戶名,此外,MySQL提供了創(chuàng)建和授權(quán)用戶的便捷工具,注意使用FLUSH PRIVILEGES命令使授權(quán)生效2024-09-09Navicat for MySQL(mysql圖形化管理工具)是什么?
這里就給大家介紹一個常用的MySQL數(shù)據(jù)庫管理工具:Navicat for MySQL,需要的朋友可以參考下2015-09-09MySQL數(shù)據(jù)庫分組查詢group by語句詳解
這篇文章主要介紹了MySQL數(shù)據(jù)庫分組查詢group by語句詳解,文中含有詳細示例代碼說明解析,有需要的朋友可以借鑒參考想=下,希望能夠有所幫助2021-09-09