查詢刪除表中重複記錄
最高效刪除重複記錄的方法,使用為例rowid
DELETE FROM EMP E WHERE E.ROWID > (SELECT MIN(X.ROWID) FROM EMP X WHERE X.EMP_NO = E.EMP_NO);
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)
注:rowid為oracle自帶不用該.....
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)
(二)
比方說
在A表中存在一個欄位“name”,
而且不同記錄之間的“name”值有可能會相同,
現在就是需要查詢出在該表中的各記錄之間,“name”值存在重複的項;
Select Name,Count(*) From A Group By Name Having Count(*) > 1
如果還查性別也相同大則如下:
Select Name,sex,Count(*) From A Group By Name,sex Having Count(*) > 1
相關文章
- Mysql語句查詢指定重複記錄和刪除重複記錄僅保留一條【親測可以】MySql
- Oracle如何刪除表中重複記錄保留第一條Oracle
- 刪除重複id的記錄
- MariaDB刪除重複記錄效能測試
- PostgreSQL刪除表中重複資料SQL
- sql刪除重複記錄只保留一條SQL
- Oracle中刪除表中的重複資料Oracle
- mysql 刪除表中重複的資料MySql
- MySQL刪除重複記錄並保留第一條MySql
- MySQL資料庫中刪除重複記錄的方法總結[推薦]MySql資料庫
- sqlserver中刪除重複資料SQLServer
- JavaScript刪除字串中重複字元JavaScript字串字元
- sql根據多個欄位查詢重複記錄SQL
- mysql 跨表查詢、更新、刪除示例MySql
- mysql刪除查詢MySql
- 查詢Set中重複的元素
- mysql 刪除重複項MySql
- 刪除oracle重複值Oracle
- JavaScript 刪除重複字元JavaScript字元
- 刪除重複資料
- 刪除排序陣列中的重複項排序陣列
- 在Django中查詢重複專案Django
- mongodb刪除重複資料MongoDB
- VSCode刪除重複的空行VSCode
- JavaScript 刪除字串重複字元JavaScript字串字元
- mysql連表查詢出現資料重複MySql
- Mysql-基本練習(09-刪除單表記錄、查詢指定列資料、列的別名、簡單單表條件查詢、簡單分組查詢)MySql
- mysql支援跨表delete刪除多表記錄MySqldelete
- C# 批次刪除Excel中的重複行C#Excel
- ES6刪除字串中重複的元素字串
- 刪除有序陣列中的重複項 II陣列
- 刪除字串中的所有相鄰重複項字串
- Excel查詢重複項Excel
- 查詢/刪除重複的資料(單個欄位和多個欄位條件)
- 怎樣新增、刪除、移動、複製、建立、查詢節點
- JavaScript陣列刪除重複元素JavaScript陣列
- JavaScript 刪除陣列重複元素JavaScript陣列
- Remove Duplicate Letters 刪除重複元素REM
- c#刪除有序陣列中的重複項C#陣列