1. 문제 풀이 아이디어
NATURAL JOIN
을 활용하여 문제를 해결할 수 있다.
2. 나의 정답 코드
SELECT
YEAR(sales_date) year,
MONTH(sales_date) month,
gender,
COUNT(DISTINCT user_id)
FROM
user_info
NATURAL JOIN
online_sale
WHERE
gender IS NOT NULL
GROUP BY
year,
month,
gender
ORDER BY
year,
month,
gender;
3. 정리
user_info
와online_sale
을NATURAL JOIN
하여 자동으로 공통 키를 기준으로 결합한다.
WHERE gender IS NOT NULL
로 성별이NULL
인 데이터를 제외한다.
YEAR(sales_date)
,MONTH(sales_date)
,gender
기준으로GROUP BY
를 수행하여 각 그룹별 데이터를 집계한다.
COUNT(DISTINCT user_id)
를 사용해 중복되지 않은 사용자 수를 계산한다.
ORDER BY year, month, gender
를 적용해 정렬한다.
Share article