[Programmers] 131532번 - 년, 월, 성별 별 상품 구매 회원 수 구하기 [MySQL]
[Programmers] 131532번 - 년, 월, 성별 별 상품 구매 회원 수 구하기 [MySQL]
1. 문제 풀이
JOIN 후 성별 정보가 없는 경우를 WHERE 절로 필터링하고 년, 월, 성별을 기준으로 그룹핑을 해주면 된다. 이때 회원수를 세야해서 COUUT 집계함수에서 레코드의 수를 세는게 아니라 고유한 유저 아이디의 수를 세줬다.
2. 쿼리
1
2
3
4
5
6
7
8
9
10
11
SELECT
YEAR(o.SALES_DATE) AS YEAR,
MONTH(o.SALES_DATE) AS MONTH,
u.GENDER,
COUNT(DISTINCT u.USER_ID)
FROM USER_INFO AS u
JOIN ONLINE_SALE AS o
ON u.USER_ID = o.USER_ID
WHERE u.GENDER IS NOT NULL
GROUP BY YEAR, MONTH, u.GENDER
ORDER BY YEAR, MONTH, u.GENDER;
This post is licensed under CC BY 4.0 by the author.