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

Rachaen·2023년 8월 19일
0

SQL 너란 애는 뭐니

목록 보기
4/4

WITH VALUE AS (
    SELECT DISTINCT YEAR(A.SALES_DATE) AS YEAR, MONTH(A.SALES_DATE) AS MONTH, A.USER_ID
    FROM ONLINE_SALE A
    JOIN USER_INFO B 
    ON A.USER_ID = B.USER_ID
    WHERE YEAR(B.JOINED) = 2021
)
, JOINED AS ( 
    SELECT COUNT (*) AS USER_COUNT
    FROM USER_INFO WHERE YEAR(JOINED) = 2021
)

SELECT V.YEAR, V.MONTH, COUNT(*) AS PUCHASED_USERS,
ROUND((COUNT(*) / (SELECT USER_COUNT FROM JOINED)), 1) AS PURCHASED_RATIO
FROM VALUE V
GROUP BY V.YEAR, V.MONTH
ORDER BY V.YEAR, V.MONTH;

  1. 2021년에 가입한 회원 수 파악하기

    SELECT DISTINCT YEAR(A.SALES_DATE) AS YEAR, MONTH(A.SALES_DATE) AS MONTH, A.USER_ID
        FROM ONLINE_SALE A
        JOIN USER_INFO B 
        ON A.USER_ID = B.USER_ID
        WHERE YEAR(B.JOINED) = 2021

    2021년에 가입한 사람을 구하면서 한 사람이 같은 년, 월에 두 번 이상 구매할 수 있으므로 중복을 제거해야 했었다. 그래서 DISTINCT를 사용하였다.

  2. 상품 구매 데이터 파악하기

  3. 구매 회원 수와 비율 계산

WITH에 익숙해지기 위해 연습하고 있어서 사용해보았다 :)


이로써 프로그래머스 지금까지 나온 SQL문제들은 모두 풀어보았다!!

profile
개발을 잘하자!

0개의 댓글

관련 채용 정보