oracle删除表中某些字段重复的数据

DELETE FROM TABLE_NAME A
 WHERE (A.FIELD1, A.FIELD2) IN
       (SELECT FIELD1, FIELD2
          FROM TABLE_NAME
         GROUP BY FIELD1, FIELD2
        HAVING COUNT(*) > 1)
   AND ROWID NOT IN (SELECT MIN(ROWID)
                       FROM TABLE_NAME
                      GROUP BY FIELD1, FIELD2
                     HAVING COUNT(*) > 1);

 

posted @ 2021-01-26 19:41  Kavins  阅读(172)  评论(0编辑  收藏  举报