2011-12-26 2 views
0

에서 중복 레코드를 찾을 수 있습니다 :쿼리 내가 중복 레코드 찾기 위해 쿼리가 오라클

select min(a.rowindex)rowindx, b.rowindex rowindx1 
from dedupinitial1 a, 
dedupinitial1 b 
where a.rowindex < b.rowindex 
and a.name = b.name 
group by b.rowindex 
order by 1; 

을하지만이 날 같은 결과를 제공합니다

3 182161 
3 121963 
3 41619 
3 219762 
3 163808 
3 122614 
3 271 
3 163809 
3 81 
4 75060 
4 60086 
4 109294 
4 98135 
4 98468 
4 165069 

하지만이 같은 결과를 원하는

3 182161 
    3 121963 
    3 41619 
    3 219762 
    3 163808 
    3 122614 
    3 271 
    3 163809 
    3 81 
    3 3 
    4 75060 
    4 60086 
    4 109294 
    4 98135 
    4 98468 
    4 165069 
    4 4 

나의 욕망 결과는 그룹에 3과 4를 포함합니다.

답변

3

이것이 효과가 있습니까? 오랜 시간 동안 쿼리를 응시하는 경우

select min(a.rowindex)rowindx, b.rowindex rowindx1 
from dedupinitial1 a, 
dedupinitial1 b 
where a.rowindex <= b.rowindex 
and a.name = b.name 
group by b.rowindex 
order by 1; 
+0

이 :)이 – chetan

+0

정말 아주 쉽게, 간단한 해결책은 어떤 이유로 우리의 마음을 건너 뜁니다 : D를 –