테스트 사이트 - 개발 중인 베타 버전입니다

디비 중복 데이터를 하나만 남기고 삭제하고 싶습니다. 채택완료

검풍 3년 전 조회 2,701

테이블 : id_score
필드1 : trade_code
필드2 : name

 

필드1(trade_code) 와 필드2(name) 매칭해서 하나의 데이터만 남기고 삭제하고 싶습니다.

아래 내용이 맞나요?

디비 접속도 안되고 너무 오래걸려 KILL 했음

/*

DELETE FROM id_score 
WHERE idx 
NOT IN (SELECT * FROM (SELECT MIN(idx) FROM id_score GROUP BY name,trade_code) AS tempTable);

*/

조언 좀 부탁합니다.

감사드림.

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트

백업후에 시도해 보세요.

DELETE a FROM id_score a inner join id_score b on

a.name=b.name and a.trade=b.trade
WHERE a.idx > b.idx 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

검풍
3년 전
감사합니다.
양이 적은 디비로 테스트시 잘됩니다.
디비 접속도 안되고 너무 오래걸려 KILL 했음
주말에 시간내서 시도해 볼게요.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인