내 MySQL 테이블에 2,00,00 행 데이터 모음이 있습니다. 이제 테이블에서 두 번째 중복 레코드를 제거하고 싶습니다. (즉) 중복 된 값의 첫 번째 레코드는 삭제되지 않아야합니다. 테이블 vale에서 두 번째 중복 레코드 만 삭제하십시오.
예
id | logEntry | logValue
--------------------------------
1 | AA15AA7515 | 11445588
2 | AAFIRNNFIE | 99586454
3 | AA15AA7515 | 14589313
4 | AA9894AF56 | 15985632
5 | AA15AA7515 | 16124246
6 | AA69481533 | 15454186
7 | AAFIRNNFIE | 12788549
이 예에서 Id의 (1,3,5), (2,7)은 중복을 포함합니다. 3,5,7 행을 제거하고 싶습니다
예상 출력
id | Entry | Value
--------------------------------
1 | AA15AA7515 | 11445588
2 | AAFIRNNFIE | 99586454
4 | AA9894AF56 | 15985632
6 | AA69481533 | 15454186
delete from temp1 where id in ( select x.id from (select a.id from temp1 a,
temp1 b where a.id<>b.id and a.logentry=b.logentry and a.id>b.id group by
a.id) x );
이것은 잘 작동합니다.
여기에서 확인하십시오 : http://www.sqlfiddle.com/#!9/825e0/1
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다