쥬니어 분석가

SQL 프로그래머스 - 상품을 구매한 회원 비율 구하기 본문

sql

SQL 프로그래머스 - 상품을 구매한 회원 비율 구하기

jyuuni 2023. 5. 31. 11:35
반응형

상품을 구매한 회원 비율 구하기

  • 의류 쇼핑몰에서 판매중인 상품들의 상품 정보를 담은 PRODUCT 테이블
USER_ID GENDER AGE JOINED
회원 ID 성별 나이 가입일

 

  • 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블
ONLINE_SALE_ID PRODUCT_ID SALES_AMOUNT SALES_DATE
온라인 상품 판매 ID 상품 ID 판매량 판매일

 

문제

USER_INFO 테이블과 ONLINE_SALE 테이블에서 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수)을 년, 월 별로 출력하는 SQL문을 작성해주세요.

상품을 구매한 회원의 비율은 소수점 두번째자리에서 반올림하고, 전체 결과는 년을 기준으로 오름차순 정렬해주시고 년이 같다면 월을 기준으로 오름차순 정렬해주세요.

 

 

문제 풀이

SELECT 
    YEAR(O.SALES_DATE) AS YEAR, MONTH(O.SALES_DATE) AS MONTH,
    COUNT(DISTINCT O.USER_ID) AS PUCHASED_USERS , 
    ROUND(COUNT(DISTINCT O.USER_ID)/
    	(SELECT COUNT(USER_ID)
         FROM USER_INFO 
         WHERE JOINED LIKE '2021-%' ), 1) AS PUCHASED_RATIO
FROM ONLINE_SALE AS O INNER JOIN USER_INFO AS U 
ON U.USER_ID = O.USER_ID
WHERE U.JOINED LIKE '2021-%' 
GROUP BY 1,2
ORDER BY 1,2

문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/131534

반응형