[Leetcode] 182. Duplicate Emails (MySQL)
문제
코드
SELECT email
FROM person
group by email
having count(email) > 1
접근
중복된 아이디를 찾는 것이다 보니 아이디 별로 모아서 개수를 확인할 수 있으면 되지 않을까 생각했다. 따라서 group by로 email을 모아서 개수를 count하기 위해 having 절을 사용하였다.
-
GROUP BY와 DISTINCT
- DISTINCT는 주로 UNIQUE(중복을 제거)한 컬럼이나 레코드를 조회하는 경우 사용한다.
- GROUP BY는 데이터를 그룹핑해서 그 결과를 가져오는 경우 사용한다.
- 하지만 두 작업은 조금만 생각해보면 동일한 형태의 작업이라는 것을 쉽게 알 수 있으며, 일부 작업의 경우 DISTINCT로 동시에 GROUP BY로도 처리될 수 있는 쿼리들이 있다.
- 집계함수를 사용하여 특정 그룹으로 구분 할 때는 GROUP BY 절을 사용하며, 특정 그룹 구분없이 중복된 데이터를 제거할 경우에는 DISTINCT 절을 사용 하도록 하자
-
HAVING 절
- WHERE 절에서는 집계함수를 사용 할 수 없다.
- HAVING 절은 집계함수를 가지고 조건을 비교할 때 사용한다.
- HAVING절은 GROUP BY절과 함께 사용된다.
Author And Source
이 문제에 관하여([Leetcode] 182. Duplicate Emails (MySQL)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@keybomb/Leetcode-182.-Duplicate-Emails-MySQL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)