데이터베이스에서 중복 데이터를 제거하는 방법 (단계별)

마지막 업데이트 : 12/12/2025
저자 : 이삭
  • 중복 데이터는 분석과 의사 결정을 왜곡하므로, 데이터를 사용하기 전에 이를 감지하고 제어하는 ​​것이 필수적입니다.
  • 엑셀과 같은 스프레드시트 프로그램은 조건부 서식, 고급 필터 및 텍스트 함수를 조합하여 항목을 강조 표시하고, 필터링하고, 중복을 제거할 수 있도록 해줍니다.
  • En 데이터베이스 SQL의 SELECT DISTINCT 및 GROUP BY와 같은 대안은 원본 데이터를 수정하지 않고 중복된 행이 없는 결과를 얻는 데 도움이 됩니다.
  • 참고문헌 관리 도구와 적절한 백업 및 사전 검토 관행은 중복을 제거하여 관련 정보 손실 위험을 줄입니다.

데이터베이스에서 중복 데이터 제거하기

데이터베이스를 다룰 때, 스프레드 시트 또는 정보 시스템, 중복 데이터는 정말 골칫거리가 될 수 있습니다.중복된 기록, 수천 가지 다른 철자로 표기된 이름, 잘못된 형식의 날짜 또는 불필요한 공백은 분석의 신뢰성을 떨어뜨리고, 시스템이 몇 초 만에 정리해 줄 수 있는 작업을 수동으로 확인하는 데 시간을 낭비하게 만듭니다.

좋은 소식은 다음과 같습니다. 중복 데이터를 찾고, 강조 표시하고, 제거하는 강력한 도구 엑셀에서도 그리고 구글 시트는 다음과 같습니다. SQL 데이터베이스 또는 서지 관리 도구. 이러한 도구들이 어떻게 작동하는지, 어떻게 다른지, 그리고 어떤 위험 요소(예: 나중에 알아차리지 못할 수도 있는 정보를 삭제하는 것)가 있는지 이해하는 것은 데이터를 체계적으로 관리하고 안심하고 분석할 수 있도록 하는 데 중요합니다.

중복 데이터가 나타나는 이유는 무엇이며, 왜 문제가 되는 걸까요?

실제로, 중복은 인적 오류, 반복적인 가져오기 또는 시스템 간의 조정 부족으로 인해 발생합니다.양식이 두 번 제출되거나, 사전 정리 없이 파일이 병합되거나, 정보 유효성 검사가 제대로 이루어지지 않는 애플리케이션 간 통합은 시스템에 중복 기록이 쌓이는 완벽한 원인이 됩니다.

명백한 중복 항목 외에도 다음과 같은 항목을 찾을 수 있습니다. 실제로는 동일한 데이터를 나타내는 약간의 차이대문자와 소문자가 섞여 있거나, 공백이 많거나, 약어가 다르거나, 날짜 형식이 다른 경우 시스템은 이를 동일한 것으로 인식하지 못합니다. 비록 사람이 보기에는 같은 것을 가리키는 것이 분명하더라도 말입니다.

그 영향은 상당합니다. 통계가 왜곡되었습니다. 고객 또는 환자 수가 부풀려졌습니다.이메일 캠페인에서 이메일 내용이 중복되거나, 청구서가 중복 발행되거나, 주문 건수가 과대평가되는 경우가 있습니다. 이는 잘못된 의사 결정, 추가 비용 발생, 데이터 품질에 대한 신뢰도 저하로 이어질 수 있습니다.

따라서 대시보드를 만들거나 고급 분석을 시작하기 전에 시간을 투자하여 다음 사항을 숙지하는 것이 좋습니다. 데이터 불일치를 감지하고 수정하는 데 탁월한 데이터 정리 도구입니다.중복 제거는 이 과정의 핵심이지만 유일한 부분은 아닙니다. 다음 사항도 고려해야 합니다. 텍스트를 균일화하다이상한 공백을 제거하고 날짜를 정규화합니다.

스프레드시트에서 중복 데이터를 감지하고 강조 표시합니다.

엑셀과 같은 도구는 매우 편리한 기능을 제공합니다. 셀 범위 내에서 반복되는 값을 신속하게 식별하기 위해삭제하기 전에, 시각적인 형식을 사용하여 어떤 파일을 남겨둘지 차분히 검토하고 결정하는 것이 좋습니다.

가장 흔한 시작 방법은... 조건부 서식을 사용하여 두 번 이상 나타나는 값을 강조 표시합니다.이렇게 하면 셀의 내용을 변경하지 않고 분석할 수 있도록 셀을 표시하기만 하면 됩니다.

일반적인 워크플로는 먼저 검토할 세포를 선택한 다음 적용하는 과정을 포함합니다. 중복된 항목을 다른 배경색이나 글꼴로 표시하는 조건부 서식 규칙이를 통해 패턴을 파악할 수 있습니다. 예를 들어, 특정 인물이 고객 목록에 여러 번 나타나는지 또는 특정 제품 코드가 두 번 이상 등록되었는지 등을 확인할 수 있습니다.

또한, 이 자동 강조 표시 기능을 스프레드시트 내의 필터와 결합할 수 있습니다. 중복 항목의 영향을 받는 행만 표시하고 하나씩 검토하세요.이렇게 하면 정보를 제어할 수 있고 중요한 정보를 실수로 삭제할 위험을 줄일 수 있습니다.

엑셀에서 중복 값을 안전하게 제거하는 방법

반복이 불필요한 부분을 명확히 파악했다면, Excel에는 다음과 같은 특정 기능이 있습니다. "중복 제거"는 반복되는 행을 영구적으로 삭제합니다.삭제한 내용을 백업해 두지 않으면 복구하기 어렵기 때문에 이 부분에서 특히 주의해야 합니다.

  수리: Android 휴대폰에서 연락처를 열 수 없습니다

이 도구를 실행하기 전에 다음 사항을 강력히 권장합니다. 원본 데이터 범위를 다른 시트 또는 백업 파일로 복사합니다.이렇게 하면 정리 작업에서 예상치 못한 결과가 발생하더라도 제거된 항목을 검토하고 문제없이 정보를 복구할 수 있습니다.

이 절차는 정리할 셀 범위를 선택한 다음 행이 중복되었는지 여부를 판단하기 위해 값을 비교할 열을 지정하는 방식으로 진행됩니다. 여러 열을 선택하면 전체 조합이 다른 행과 일치하는 행만 중복으로 간주됩니다.이는 복잡한 데이터를 다룰 때 매우 유용합니다.

작업을 확인하면 Excel은 추가 행을 제거합니다. 이 기능은 삭제된 중복 항목 수와 남아 있는 고유 항목 수에 대한 요약을 보여줍니다.이 간략한 보고서는 청소를 시작할 때 예상했던 결과와 실제 결과가 일치하는지 확인하는 데 도움이 됩니다.

명심해야합니다 고유값 필터링은 중복 제거와는 다릅니다.필터링을 하면 중복 행은 일시적으로만 숨겨질 뿐 완전히 삭제되지는 않습니다. 중복을 제거하면 완전히 삭제됩니다. 따라서 고유값 필터나 조건부 서식을 먼저 사용하는 것이 더 현명한 전략입니다.

값이 중복되었다고 판단하는 기준

스프레드시트 도구가 중복 항목을 비교할 때, 그들은 해석된 기본 값이 아니라 세포에서 실제로 보이는 것을 기준으로 판단합니다.이로 인해 예상치 못한 상황이 발생하지 않도록 알아두어야 할 몇 가지 흥미로운 결과가 있습니다.

예를 들어, 같은 날짜를 나타내는 두 개의 날짜가 다음과 같은 경우에는 중복으로 간주되지 않을 수 있습니다. 하나는 "08/03/2006"으로, 다른 하나는 "2006년 3월 8일"로 쓰여 있습니다.의미가 동일하더라도 텍스트 내용이 다르기 때문입니다. 공백이나 대소문자가 다른 이름이나 문자열의 경우에도 같은 현상이 발생할 수 있습니다.

마찬가지로 텍스트 형식으로 저장된 숫자와 동일한 숫자를 숫자 형식으로 저장한 것 서로 다른 값으로 처리될 수 있습니다. 그렇기 때문에 중복 행을 일괄 삭제하기 전에 형식을 표준화하는 것이 매우 중요합니다.

본격적인 정리 작업을 수행하기 전에 먼저 고유값을 필터링하거나 조건부 서식을 사용하여 확인하는 것이 좋습니다. 비교 기준이 당신이 생각하는 대로 작동하고 있다는 것입니다.게임 규칙을 미리 설정하면 유효한 데이터를 잃거나 위장된 중복 데이터를 남기는 것을 방지할 수 있습니다.

스프레드시트에서 텍스트 함수를 사용하여 오염된 데이터를 정리합니다.

중복으로 인한 문제의 상당 부분은 정확히 동일한 값이 반복되는 것에서 비롯되는 것이 아니라, 다음과 같은 사실에서 비롯됩니다. 같은 정보가 약간씩 다른 방식으로 표현되어 있습니다.바로 이럴 때 엑셀이나 구글 시트의 텍스트 함수가 유용하게 사용됩니다. 반복되는 부분을 제거하기 전에 표준화하고 기초를 다지는 데 도움이 되죠.

일부 이름은 대문자, 일부는 소문자, 그리고 나머지는 무작위로 섞여 있는 열을 흔히 볼 수 있습니다. 이러한 이름들을 통일하기 위해 다음과 같은 함수들이 있습니다. 그들은 모든 글자를 소문자로 바꾸거나, 모든 글자를 대문자로 바꾸거나, 또는 각 단어의 첫 글자만 대문자로 바꿉니다.이렇게 하면 "ANA PÉREZ", "ana pérez" 및 "Ana Pérez"가 동일하게 취급됩니다.

텍스트 체인 내부 또는 시작이나 끝에 추가 공백특수 함수를 사용하면 불필요한 공백을 제거하고 단어 사이에 일반 공백만 남겨 "Juan García" 또는 이와 유사한 구문처럼 비교를 방해하는 요소를 없앨 수 있습니다.

코드가 결합되어 있거나 이름과 성이 같은 셀에 있는 경우처럼 데이터가 빽빽하게 모여 있는 경우에는 추출 및 합집합 함수를 사용하는 것이 유용합니다. 텍스트의 일부를 추출합니다 보다 일관성 있는 필드를 재구성하기 위해 어떤 위치에서 몇 개의 문자를 추출하거나 여러 문자열을 하나로 결합할지 지정합니다.

날짜의 경우, 다양한 스타일의 텍스트로 도착하면 이를 특정 형식으로 변환하는 것이 좋습니다. 연, 월, 일을 기준으로 하는 표준 날짜 형식이렇게 하면 스프레드시트에서 해당 데이터를 실제 날짜로 인식하여 올바르게 정렬할 수 있으며, 비교 시 셀의 시각적 모양에 더 이상 의존하지 않게 됩니다.

  Excel에서 손상된 시스템을 수정하는 쉬운 방법

스프레드시트에서 고유값만 필터링하고 중복을 제거합니다.

서식 도구와 텍스트 기능 외에도 Excel과 Google Sheets 모두 다음과 같은 기능을 제공합니다. 열 또는 여러 열에서 고유 값만 빠르게 필터링하여 볼 수 있습니다.이는 돌이킬 수 없는 결정을 내리기 전에 결과를 검토하는 매우 효과적인 방법입니다.

일부 환경에서는 고급 필터링 옵션을 사용하여 하나 이상의 특정 열에 고유한 값을 가진 행만 표시하도록 지정할 수 있습니다. 이 필터링은 데이터를 삭제하는 것이 아니라 중복된 데이터를 일시적으로 숨기는 것입니다.이는 매우 신중한 중간 단계라고 할 수 있습니다.

원하는 뷰가 바로 그 뷰라는 것을 확인하셨다면, 이제 다음 단계를 진행하시면 됩니다. 명령 특정 데이터 메뉴에서 중복 항목을 직접 제거하세요.일반적으로 "데이터 > 중복 제거"와 같은 메뉴를 통해 비교할 열을 선택할 수 있습니다.

또 다른 방법은 필요에 따라 조건부 서식을 사용하여 중복 값과 고유 값을 모두 강조 표시하는 것입니다. 예를 들어 다음과 같이 할 수 있습니다. 한 번만 나타나는 행을 밝은 색으로 강조 표시하세요. 그리고 해당 기록들이 비정형적인 기록인지, 로딩 오류인지, 아니면 단순히 보존해야 할 드문 사례인지 분석합니다.

드롭다운 목록이나 데이터 유효성 검사를 사용하는 경우, 이러한 요소들을 정리하는 것이 매우 유용합니다. 유효성 검사 메뉴를 통해 이를 수행할 수 있습니다. 타이포그래피 변형 도입을 방지하는 폐쇄형 목록을 정의합니다.이를 통해 단순한 오타인 잘못된 중복 항목 발생을 줄일 수 있습니다.

SELECT DISTINCT를 사용하여 SQL 데이터베이스에서 중복 항목 제거하기

우리가 스프레드시트의 세계에서 다른 세계로 넘어갔을 때 데이터베이스접근 방식이 약간 달라집니다. SQL에서 반복되는 정보를 관리하는 첫 번째 도구 중 하나는 연산자입니다. DISTINCT는 SELECT 명령과 함께 사용하여 중복이 없는 행을 반환합니다. 검색 결과에서.

아이디어는 간단합니다. SELECT 문을 작성할 때 DISTINCT 키워드를 추가하여 특정 조건을 만족하지 않는 항목을 제외할 수 있습니다. 각 값 조합이 한 번씩만 나타나도록 해야 합니다. 선택된 열에서. 이렇게 하면 테이블에서 동일한 논리적 행이 여러 번 반복되더라도 쿼리는 한 줄로만 반환됩니다.

SELECT DISTINCT는 데이터베이스에서 아무것도 삭제하지 않는다는 점을 이해하는 것이 중요합니다. 이는 쿼리를 실행할 때 표시되는 결과에만 영향을 미칩니다.표에 있는 원본 정보는 변경되지 않고 그대로 유지되므로, 데이터를 아직 수정하고 싶지 않은 탐색적 분석에 매우 적합합니다.

구문에 관해서는 일반적인 패턴은 SELECT DISTINCT와 관심 있는 열 목록을 결합하고, 그 뒤에 테이블을 지정하는 FROM 절을 추가하고, 선택적으로 열을 지정하는 것입니다. 특정 조건을 기준으로 필터링하기 위한 WHERE 절이렇게 하면 예를 들어 특정 국가의 특정 고객만 요청하거나 특정 카테고리의 특정 제품만 요청할 수 있습니다.

이 방법은 중복되지 않은 항목으로 결과를 좁히고자 할 때 매우 유용합니다. 주문 건수가 중복되지 않도록 고객 목록을 확보하세요.고유한 제품 코드 목록을 표시하거나 데이터 세트에서 고유 항목 수를 계산합니다.

SQL에서 DISTINCT와 중복을 방지하는 다른 방법들의 차이점

DISTINCT와 UNIQUE는 발음이 비슷할 수 있지만, 이들은 SQL 생태계 내에서 동일한 역할을 수행하지 않습니다.DISTINCT는 SELECT 쿼리에서 작동하여 반환되는 행에 영향을 미칩니다. UNIQUE는 일반적으로 테이블 정의의 제약 조건과 관련이 있으며, 특정 필드에 중복된 값이 포함될 수 없음을 나타냅니다.

또한, 데이터 양이 많은 상황에서는 SELECT DISTINCT를 사용하는 것이 성능에 상당한 부담을 줄 수 있는데, 그 이유는 다음과 같습니다. 데이터베이스 엔진은 선택된 모든 열을 비교해야 합니다. 어떤 행들이 동일한지 판별하는 것입니다. 테이블이 크거나 열이 많은 테이블의 경우 이 작업이 번거로워질 수 있습니다.

따라서 어떤 경우에는 대안을 고려해 볼 가치가 있습니다. 가장 일반적인 대안 중 하나는 다음과 같습니다. GROUP BY는 하나 이상의 열을 기준으로 행을 그룹화합니다. 또한 COUNT, MIN, MAX와 같은 집계 함수를 적용하여 데이터를 효율적으로 요약할 수 있습니다.

  이 파일[수정됨]과 연결된 프로그램이 없습니다.

또한 EXISTS와 같은 절을 사용할 수도 있습니다. 다른 테이블에 특정 값이 있는지 확인합니다.이렇게 하면 불필요한 중복 행을 조인하는 것을 방지할 수 있습니다. 또는, 잘 정의된 SELECT, FROM, WHERE 절을 사용하여 서브쿼리를 실행함으로써 검색할 레코드를 더욱 구체적으로 지정할 수 있습니다.

특정 열에 있는 고유 값의 개수를 세려면 일반적으로 COUNT와 DISTINCT를 함께 사용합니다. 서로 다른 요소의 개수를 직접 얻을 수 있습니다. 하나하나 수동으로 확인할 필요 없이.

실제 사례: 중복 없는 고객 문의 및 주소

각 행이 구매 내역을 나타내는 주문 테이블을 다루고 있다고 상상해 보세요. 흔히 다음과 같은 상황이 발생합니다. 고객이 여러 번 주문한 경우 동일 고객 정보가 여러 번 표시됩니다.각 고객을 한 번만 확인하고 싶다면 SELECT DISTINCT 도구가 매우 유용합니다.

이 시나리오에서는 고객 식별 열(예: 고객 ID 및 이름)을 선택하는 쿼리를 작성하고 DISTINCT를 적용합니다. 각 고객에 대한 목록은 한 번만 받습니다.원래 표에는 10가지 다른 순서가 있지만 말입니다.

모든 것을 봐야 할 경우에도 비슷한 일이 발생합니다. 제품이 배송된 고유 배송 주소주문마다 주소가 포함되어 있으면 표에 중복된 주소가 많아집니다. 하지만 주소 열에 DISTINCT를 사용하면 배송지 목록을 간결하게 생성할 수 있습니다.

특정 지역의 고객에게 집중하고 싶을 때는 WHERE 절을 추가하여 예를 들어 다음과 같은 조건을 지정할 수 있습니다. 당신은 특정 국가의 기록에만 관심이 있습니다.이처럼 SELECT DISTINCT는 테이블의 전체 데이터가 아닌 일부 데이터에만 적용됩니다.

의료 또는 학술 분야에서 운영자는 매우 실용적입니다. 여러 번 등장하는 환자 또는 저자의 데이터를 그룹화합니다. 다양한 연구나 논문에서 분석 목적으로 개체당 하나의 항목만 표시하는 경우가 있습니다.

서지 데이터베이스에서 중복 참조 관리하기

과학 문헌 분야에서 서지 데이터베이스는 일반적으로 다음과 같은 기능을 제공합니다. 중복 참조를 제거하는 특정 도구 여러 출처에서 검색을 수행할 때, 중복된 논문으로 문헌 검토가 채워지는 것을 방지하려면 이 점이 매우 중요합니다.

이러한 시스템에서는 일반적으로 도구 메뉴에 "중복 제거" 명령이 있습니다. 결과 집합을 분석하고 중복 참조를 자동으로 제거합니다.일반적으로 시스템은 삭제된 요소의 수와 현재 집합에 남아 있는 요소의 수를 보고합니다.

많은 플랫폼에서 환경 설정 섹션에서 다음과 같이 구성할 수 있습니다. 중복 참조 제거는 자동으로 수행됩니다. 새로운 검색을 수행할 때마다 중복 기준이 생성됩니다. 이렇게 하면 수동 작업을 크게 줄일 수 있지만, 중복 기준이 올바른지 정기적으로 확인하는 것이 좋습니다.

이러한 관리자는 일괄 삭제 기능 외에도 특정 참조를 수동으로 선택하여 유지할지 삭제할지 결정할 수 있도록 해줍니다. 이 수동 검토는 시스템이 두 레코드가 실제로 동일한 항목인지 확신할 수 없을 때 유용합니다. 또는 서로 다른 버전에 해당하는 경우(예: 사전 공개본과 최종 버전).

중복 항목을 제거한 후 결과 집합이 업데이트됩니다. 참고 문헌 수가 감소했음을 보여줍니다.이러한 수치적 제어는 디버깅이 효과를 발휘했는지 검증하고 체계적인 검토 또는 검색 보고서에 프로세스를 문서화하는 데 도움이 됩니다.

액세스에서 중복 찾기
관련 기사 :
Access에서 중복 항목 찾기 및 제거: 완벽한 가이드