2013-06-13 2 views
0

30 열이있는 테이블에서 정확한 중복 레코드를 삭제해야합니다. 내 데이터가 첨부 된 것으로 보일 것입니다. 감사의 말 !! enter image description here30 열이있는 테이블에서 중복 레코드를 삭제해야합니다.

+5

이미지가 너무 크지 만 너무 작 중복 정확히 행이 고려되어야한다 –

+0

? 어떤 상태입니까? 예 : 같은 colum1 값과 colum2 값을 가진 행을 반복해야합니다. – heximal

+0

@Lithu T.V, 너 무슨 뜻인지 알기 위해 잠시 데려갔습니다. – lkdg

답변

1
이 같은 이해

귀하의 질문 ...

1) 당신은 당신이 테이블에 (현재 타임 스탬프)와 열 날짜를 필요로이 경우 중복 rows.In에서 하나의 레코드를 삭제하려면

삭제하려면
delete from tableName t1 where 
t1.id in (SELECT  t2.id 
     FROM   tableName t2 
     where t1.id = t2.id and t1.date(timestamp) < t2.date(timestamp)) 

2) 완전한 중복 행

delete from tableName t1 where 
t1.id in (SELECT  t2.id 
     FROM   tableName t2 
     group by t2.id 
     having count(*) >1) 
0

이 하나가 작동합니다 :

delete from <table> 
where rowid IN (
    SELECT LEAD(rowid) OVER (PARTITION BY <col1>, <col2>,...,<coln> ORDER BY NULL) 
    FROM <table> 
); 

그리고 물론3210 Fiddle

관련 문제