⚒️1분 완성 엑셀&PPT

"맨날 복사 붙여넣기만 하시나요?" 데이터 중복 제거와 고유값 개수 세는 실무 SQL 쿼리문 가이드

아둥 2026. 5. 31. 09:00
SMALL

일요일 오후, 내일 출근해서 처리해야 할 대량의 가맹점 매출 데이터와 회원 장부 파일을 보며 한숨지어 본 적 없으신가요? 엑셀에 십만 건이 넘어가는 로우 데이터(Raw Data)가 쌓여있을 때, 상사로부터 "여기서 중복된 가맹점 이름 다 골라내고, 진짜 고유한 업체 수가 총 몇 개인지 카운트해서 보고해"라는 지시를 받으면 눈앞이 캄캄해집니다. 엑셀의 '중복된 항목 제거' 버튼을 눌렀다가 다운되거나 렉 걸려서 한참을 기다렸던 경험, 다들 한 번쯤 있으실 겁니다.

대용량 데이터를 다룰 때 엑셀만 고집하는 것은 내 퇴근 시간을 스스로 늦추는 지름길입니다. 데이터베이스(DB) 시스템에서 딱 한 줄의 SQL 쿼리문만 작성할 줄 알면, 수백만 건의 장부 데이터 속에서도 1초 만에 중복을 거르고 원하는 통계 수치를 뽑아낼 수 있습니다. 엑셀 마스터를 넘어 일잘러 기획자가 되기 위한 필수 데이터 처리 루틴을 공유합니다.

✦ ✦ ✦

✅ 🔍 데이터 중복 처리 및 카운트를 위한 핵심 SQL 문법 비교

패턴 B: 핵심 비교표를 서론 직후 배치하여 시각적 정보 전달

사용할 SQL 핵심 키워드 실무 데이터 처리 역할 실제 쿼리문 작성 예시 (Syntax)
DISTINCT 지정한 열(Column)의 중복 값을 제거하고 출력 SELECT DISTINCT 가맹점명 FROM 매출장부;
COUNT(DISTINCT) 중복을 제외한 순수 고유값의 총 개수 계산 SELECT COUNT(DISTINCT 가맹점명) FROM 매출장부;
GROUP BY 데이터를 그룹화하여 그룹별 수치 계산 SELECT 가맹점명, COUNT(*) FROM 장부 GROUP BY 가맹점명;

✦ ✦ ✦

📌 데이터 분석 시 초보자들이 가장 자주 범하는 치명적 실수

SQL 쿼리를 작성할 때 초보 데이터 분석가나 주니어 기획자들이 가장 흔히 하는 실수는 테이블 전체를 카운트하는 `COUNT(*)`와 특정 열을 지정하는 `COUNT(DISTINCT 열이름)`의 논리적 차이를 인지하지 못하는 것입니다. 데이터 필드 중에 값이 비어있는 'NULL' 레코드가 섞여 있을 때, 무작정 전체 카운트를 해버리면 유효하지 않은 데이터까지 장부에 합산되어 전체 통계의 신뢰도가 완전히 깨지게 됩니다. 정확한 계정 관리나 인센티브 정산 지표를 도출하려면 반드시 기준이 되는 고유 식별자(ID) 열에 DISTINCT 문법을 매칭하여 쿼리를 설계해야 합니다. 실제로 저도 정산 데이터 정제 시 이 규칙을 엄격하게 적용해 중복 오류를 원천 차단했습니다.

✦ ✦ ✦

💡 월요일 아침 데이터 무덤에서 살아남는 3단계 SQL 루틴

  • 날짜 필터링 범위 먼저 지정하기: 대용량 테이블을 조회할 때는 무작정 전체를 불러오지 말고 WHERE 매출일자 BETWEEN '2026-05-01' AND '2026-05-31'과 같이 특정 날짜 구간 조건을 맨 먼저 걸어주십시오. 서버 과부하를 막는 기본 매너입니다.
  • 중복 제거된 목록 추출: 가맹점명 앞에 DISTINCT를 붙여 쿼리를 실행하면, 엑셀 렉 걸림 없이 순식간에 중복이 사라진 깨끗한 업체 리스트만 모니터에 렌더링 됩니다.
  • 그룹별 카운트로 데이터 정렬: GROUP BY 문법과 HAVING 조건절을 연계하면, 단순히 고유 개수를 세는 것을 넘어 '2회 이상 중복 등록된 불량 데이터 계정'만 족집게처럼 골라내 장부를 청소할 수 있습니다.

일요일 저녁, 다가오는 일주일을 앞두고 데이터 작업 때문에 벌써 피로감을 느끼고 있다면 오늘 배운 세 가지 키워드를 메모장에 슬쩍 적어두십시오. 엑셀 노가다 대신 스마트한 SQL 한 줄로 월요일 오전 업무를 단 1분 만에 끝내고, 동료들보다 훨씬 앞서나가는 데이터 기반의 기획자가 되어보시길 바랍니다.