2021년에 가입한 회원들 중에서 물건을 구매한 회원들을
년,월 별로 그룹을 나누고 2021년에 가입한 총 회원 수로 나누는 것이 핵심인 문제이다.
그 말곤 별로 특별한 것이 없다.
위의 설명대로 MYSQL 쿼리문으로 나타내면 다음과 같다.
SELECT
YEAR(SALES_DATE) AS YEAR,
MONTH(SALES_DATE) AS MONTH,
COUNT(DISTINCT(A.USER_ID)) AS PURCHASED_USERS,
ROUND(COUNT(DISTINCT(A.USER_ID)) / B.CNT, 1) AS PURCHASED_RATIO
FROM ONLINE_SALE AS A
JOIN (SELECT COUNT(DISTINCT(USER_ID)) AS CNT FROM USER_INFO WHERE YEAR(JOINED) = 2021) AS B
WHERE USER_ID IN (SELECT USER_ID FROM USER_INFO WHERE YEAR(JOINED) = 2021)
GROUP BY YEAR(SALES_DATE), MONTH(SALES_DATE)
ORDER BY YEAR(SALES_DATE), MONTH(SALES_DATE);