본문 바로가기

[LeetCode] 182. Duplicate Emails

by qwee0328 2025. 2. 24.

📝182. Duplicate Emails

🔹 중복 이메일

모든 중복 이메일을 보고하는 솔루션을 작성하세요. 이메일 필드가 NULL이 아니라는 것이 보장됩니다.
어떤 순서로든 결과 테이블을 반환합니다.

 

📝 문제 설명

LeetCode 182번 Duplicate Emails 문제는 중복된 이메일을 찾는 SQL 쿼리를 작성하는 문제입니다.

이메일(email) 필드는 NULL이 아님이 보장되며, 같은 이메일이 여러 번 등장하는 경우 해당 이메일을 출력해야 합니다.

 

📊 테이블 구조

Person 테이블

Column Name Type
id int
email varchar

 

 

💡 SQL 문제 해결 방법

이 문제는 GROUP BY와 HAVING 절을 활용하여 해결할 수 있습니다. 동일한 email 값을 기준으로 그룹화한 뒤, 2번 이상 등장한 이메일만 필터링하면 됩니다.

 

 

반응형

 

 

🖥️ SQL 풀이

  SELECT email
    FROM Person
GROUP BY email
  HAVING COUNT(email) > 1

 

 

🔍 쿼리 분석

  • GROUP BY email: email 컬럼을 기준으로 그룹화하여 동일한 이메일을 묶습니다.
  • COUNT(email) > 1: 그룹별 개수를 계산한 후, 중복된 이메일(즉, 2개 이상 존재하는 이메일)만 필터링합니다.
  • 출력 컬럼: email 값을 그대로 반환합니다.

 

📌 실행 예제

📊 입력 데이터

Person 테이블

id email
1 a@b.com
2 c@d.com
3 a@b.com

 

쿼리 실행 결과

Email
a@b.com

 

 

🎯 결론

이 문제를 통해 GROUP BY와 HAVING 절을 활용하여 중복 데이터를 찾는 방법을 배울 수 있습니다.

실무에서도 중복된 사용자 정보, 중복된 주문 기록, 중복된 로그 데이터 등을 찾아야 할 때 동일한 패턴을 활용할 수 있습니다. 특히, 데이터 클리닝이나 정제 과정에서도 매우 유용하게 사용할 수 있는 쿼리 패턴입니다. 🚀

 

 

더 많은 SQL 문제 풀이를 보고 싶다면 LeetCode SQL 문제 모음을 확인해 보세요! 🚀

728x90
반응형