susinlee 님의 블로그

년, 월, 성별 별 상품 구매 회원 수 구하기 본문

코드카타/SQL, Pandas

년, 월, 성별 별 상품 구매 회원 수 구하기

susinlee 2024. 12. 13. 10:47

[문제]
USER_INFO (I) 테이블과 ONLINE_SALE (S) 테이블에서 년, 월, 성별 별로 상품을 구매한 회원수를 집계하는 SQL문을 작성해주세요. 결과는 년, 월, 성별을 기준으로 오름차순 정렬해주세요. 이때, 성별 정보가 없는 경우 결과에서 제외해주세요.


[단계별 풀이]
1. 테이블을 USER_ID를 기준으로 JOIN

2. 성별이 NULL 인 행은 제외

3. 년, 월, 성별을 GROUP BY

4. 고유한(DISTINCT) S.USER_ID 를 COUNT

5. 년 월 성별 기준으로 오름차순


[정답]

SELECT YEAR(S.SALES_DATE) YEAR,
       MONTH(S.SALES_DATE) MONTH,
       GENDER,
       COUNT(DISTINCT S.USER_ID) USERS
FROM USER_INFO I
JOIN ONLINE_SALE S 
    ON I.USER_ID = S.USER_ID
WHERE I.GENDER IS NOT NULL
GROUP BY YEAR, MONTH, GENDER
ORDER BY YEAR, MONTH, GENDER