程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL刪除重復記錄的方法

MySQL刪除重復記錄的方法

編輯:MySQL綜合教程

MySQL刪除重復記錄是我們經常用到的操作,下面為您介紹了5種MySQL刪除重復記錄的方法,如果您感興趣的話,不妨一看。

1、查找表中多余的重復記錄,重復記錄是根據單個字段peopleId)來判斷
select * from people
where peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1)

2、刪除表中多余的重復記錄,重復記錄是根據單個字段peopleId)來判斷,只留有rowid最小的記錄
delete from people
where peopleId  in (select  peopleId  from people  group  by  peopleId   having  count(peopleId) > 1)
and rowid not in (select min(rowid) from  people  group by peopleId  having count(peopleId )>1)

3、查找表中多余的重復記錄多個字段)
select * from vitae a
where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq  having count(*) > 1)

4、刪除表中多余的重復記錄多個字段),只留有rowid最小的記錄
delete from vitae a
where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

5、查找表中多余的重復記錄多個字段),不包含rowid最小的記錄
select * from vitae a
where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
 

使用MySQL臨時表加速查詢

教您如何合理使用MySQL索引

5種常見的MySQL日志類型

自動恢復MySQL日志文件的方法

如何使用新的MySQL更新日志

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved