나는 같은 badge_id와 중복 행을 제거 할 우리는 USER_ID 확인 : 다음 데이터로, 예를 들어중복 된 mysql을 모두 삭제 하시겠습니까?
을 :
id user_id badge_id badge_slot 1 2 ACH_1 0 2 1 ACH_1 0 3 1 ACH_1 0 4 1 AAAAA 0
어떻게 삭제 ?? 당신이 가장 낮은 id
와 기록을 유지하려면
나는 같은 badge_id와 중복 행을 제거 할 우리는 USER_ID 확인 : 다음 데이터로, 예를 들어중복 된 mysql을 모두 삭제 하시겠습니까?
을 :
id user_id badge_id badge_slot 1 2 ACH_1 0 2 1 ACH_1 0 3 1 ACH_1 0 4 1 AAAAA 0
어떻게 삭제 ?? 당신이 가장 낮은 id
와 기록을 유지하려면
당신은 min()
delete from your_table
where id not in
(
select * from
(
select min(id)
from your_table
group by user_id, badge_id
) x
)
를 사용할 수와 MySQL에서 당신은 당신이에서 삭제하는 동일한 테이블에서 선택할 수없는 문제가 있습니다. 그러나 당신은 subselect에 의해 이것을 극복 할 수 있습니다.
이 시도 :
DELETE * ,count(*)as n your_table by badge_id HAVING n>1 .
가 도움이 희망!
이 시도 ..
ALTER IGNORE TABLE table ADD UNIQUE KEY idx1('badge_id','user_id');
방법 부속을 사용하는? – user1538524
내 대답에 사용 :'select * from (place subselect here) alias_name' –
시도했지만 작동하지 않습니다 여러 줄 내 테이블에 1801490 줄 어떻게합니까? – user1538524