코딩테스트/SQL
[프로그래머스][MySQL] Lv. 4 년, 월, 성별 별 상품 구매 회원 수 구하기
_알파카
2024. 8. 7. 17:49
728x90
문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/131532
내 풀이
SELECT YEAR(s.SALES_DATE) AS YEAR
, MONTH(s.SALES_DATE) AS MONTH
, i.GENDER AS GENDER
, COUNT(DISTINCT s.USER_ID) AS USERS
FROM ONLINE_SALE s INNER JOIN USER_INFO i
ON s.USER_ID = i.USER_ID
GROUP BY YEAR(s.SALES_DATE), MONTH(s.SALES_DATE), i.GENDER
HAVING i.GENDER IS NOT NULL
ORDER BY YEAR(s.SALES_DATE), MONTH(s.SALES_DATE), i.GENDER
어렵지 않은 문제이다.
주의할 점은
1. GENDER에 NULL 값이 포함되어 있기 때문에 HAVING 조건에 GENDER IS NOT NULL 조건을 넣어준다.
2. 고유한 USER_ID 수를 세기 위해서 COUNT 시 DISTINCT를 추가해준다.
2가지만 주의한다면 쉽게 풀 수 있다!
728x90