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

Oracle刪除重復數據只留一條

編輯:Oracle教程

Oracle刪除重復數據只留一條


查詢及刪除重復記錄的SQL語句 1、查找表中多余的重復記錄,重復記錄是根據單個字段(Id)來判斷 select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1) 2、刪除表中多余的重復記錄,重復記錄是根據單個字段(Id)來判斷,只留有rowid最小的記錄 DELETE from 表 WHERE (id) IN ( SELECT id FROM 表 GROUP BY id HAVING COUNT(id) > 1) AND ROWID NOT IN (SELECT MIN(ROWID) FROM 表 GROUP BY id HAVING COUNT(*) > 1); 3、查找表中多余的重復記錄(多個字段) select * from 表 a where (a.Id,a.seq) in(select Id,seq from 表 group by Id,seq having count(*) > 1) 4、刪除表中多余的重復記錄(多個字段),只留有rowid最小的記錄 delete from 表 a where (a.Id,a.seq) in (select Id,seq from 表 group by Id,seq having count(*) > 1) and rowid not in (select min(rowid) from 表 group by Id,seq having count(*)>1) 5、查找表中多余的重復記錄(多個字段),不包含rowid最小的記錄 select * from 表 a where (a.Id,a.seq) in (select Id,seq from 表 group by Id,seq having count(*) > 1) and rowid not in (select min(rowid) from 表 group by Id,seq having count(*)>1)

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