[프로그래머스] 상품을 구매한 회원 비율 구하기 <MYSQL>

진이·2023년 4월 5일
0

mysql

목록 보기
4/5

문제 링크

문제 요약

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);
profile
최선을 다할게

0개의 댓글