동일한 열 값 (예 : SSN 필드)을 가진 모든 행을 선택할 수 있지만 모두 구분하여 표시 할 수 있습니까? ?정확히 일치하지 않는 중복 행 찾기
이 답변을 검색했지만 모두 행 수가 정확히 같아야하는 "개수 (*) 및 그룹화 기준"섹션이 있습니다.
동일한 열 값 (예 : SSN 필드)을 가진 모든 행을 선택할 수 있지만 모두 구분하여 표시 할 수 있습니까? ?정확히 일치하지 않는 중복 행 찾기
이 답변을 검색했지만 모두 행 수가 정확히 같아야하는 "개수 (*) 및 그룹화 기준"섹션이 있습니다.
이 시도 :
SELECT A, B FROM MyTable
WHERE A IN
(
SELECT A FROM MyTable GROUP BY A HAVING COUNT(*)>1
)
는 내가 SQL 서버로 했어요. 그러나 이것은 당신이 필요한 데이터를 가져오고 우리가 함께 그룹화 된 데이터를 볼 수 있도록 순서대로 표시됩니다
멋진 찾고 계십니까? – aghaux
SELECT
*
FROM
MyTable
WHERE
EXISTS
(
SELECT
NULL
FROM
MyTable MT
WHERE
MyTable.SameColumnName = MT.SameColumnName
AND MyTable.DifferentColumnName <> MT.DifferentColumnName)
이 필요한 것입니다 바랍니다.
SELECT * FROM TABLENAME
WHERE SSN IN
(
SELECT SSN FROM TABLENAMEGROUP BY SSN HAVING COUNT(SSN)>1
)
ORDER BY SSN
여기서 SSN은 유사한 값 확인이 수행 된 열 이름입니다.
중복 계산을 얻기 위해 하위 쿼리 대신 분석 함수를 사용하여 테이블을 한 번만 참조하는 다른 방법이 있습니다. 더 빠를 수도 있습니다. 그것은 또한 특정 데이터에 의존하지 않을 수도 있습니다.
SELECT * FROM (
SELECT col1, col2, col3, ssn, COUNT(*) OVER (PARTITION BY ssn) ssn_dup_count
)
WHERE ssn_dup_count > 1
ORDER BY ssn_dup_count DESC
plz 샘플 데이터 제공 –