Duplicate Emails

hyeh·2022년 8월 5일
0

알고리즘 문제풀이

목록 보기
2/15

문제 182. Duplicate Emails

Write an SQL query to report all the duplicate emails. Return the result table in any order.


중복되는 이메일 주소를 모두 추출하라는 문제다.

SELECT email
FROM person
GROUP BY email
HAVING COUNT(email) > 1;

💡

  • 먼저 WHERE 절에 집계함수 COUNT()를 사용하려고 했는데, WHERE 절에는 - 집계함수를 사용할 수 없다는 게 생각났다.
  • 그래서 중복을 제거하는 DISTINCT가 생각났다. 그래서 이렇게 해봤는데 당연히 틀렸다. WHERE email DISTICT;
  • 'MySQL 중복'이라고 검색하니 HAVING 절에 COUNT()를 사용한 게 나왔다.
  • WHERE 절은 조회할 집계되지 않은 자료에 대한 조건이고, HAVING 절은 집계된 자료에 대한 조건이다. 그리고 HAVING 절은 GROUP BY와 짝꿍이다. GROUP BY로 먼저 집계했기 때문에 집계함수를 사용할 수 있는 것이다. 그래서 이렇게 해결했다!
profile
좌충우돌 천방지축 룰루랄라 데이터 공부

0개의 댓글