SQL/프로그래머스

[프로그래머스] 년, 월, 성별 별 상품 구매 회원 수 구하기 (Mysql)

에릭 Kim 2023. 5. 15. 09:35
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/131532

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

소스코드

 

 

풀이

★ 문제의 포인트는 회원수를 구하는 과정에서 중복을 제거해줘야 하는 부분입니다 ! 'DISTINCT'라는 키워드를 사용하여 중복을 제거해주지 않는다면, USER_ID가 1인 사람이 해당 년, 월에 구입을 2번 했을 경우, 회원수에는 +2가 되기 때문입니다 ! 그래서 다음과 같은 결과를 출력하게 됩니다.

 

 

★ 또한 GROUP BY를 사용하여 정렬을 하는 과정에서 년, 월, 성별 별로 정렬을 하라고 했기 때문에 YEAR, MONTH, GENDER 순으로 정렬을 진행합니다.

 

★ 정렬을 하는 가운데, 성별이 NULL 값인 데이터는 포함하지 않기로 했기 때문에 HAVING절에서 'GENDER IS NO NULL'이라는 조건을 부여합니다 ! 

 

반응형