개발속이야기/Oracle

중복 데이터 삭제

스토리지기 2017. 12. 28. 17:55

SELECT    *

  FROM      MCFC_IPCTECHNUMBER_TEMP A

  WHERE ROWID <  (

                                        SELECT  MAX(ROWID)

                                        FROM    MCFC_IPCTECHNUMBER_TEMP B

                                        WHERE   B.SUBMISSIONNUMBER = A.SUBMISSIONNUMBER

                                        AND     B.PATH# = A.PATH#

                                        GROUP BY SUBMISSIONNUMBER, PATH#

                                        HAVING  COUNT(*) > 1                                        

                                        );

                                        

                                        

  DELETE

  FROM      MCFC_IPCTECHNUMBER_TEMP A

  WHERE ROWID <  (

                                        SELECT  MAX(ROWID)

                                        FROM    MCFC_IPCTECHNUMBER_TEMP B

                                        WHERE   B.SUBMISSIONNUMBER = A.SUBMISSIONNUMBER

                                        AND     B.PATH# = A.PATH#

                                        GROUP BY SUBMISSIONNUMBER, PATH#

                                        HAVING  COUNT(*) > 1                                        

                                        )