# USER_INFO 회원정보
# ONLINE_SALE 온라인 상품 판매 정보
# 21년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수
# 2021년 가입한 회원만 뽑기,월별로 정리해서 사람 수 세기
SELECT YEAR, MONTH, COUNT(*) AS PUCHASED_USERS, ROUND((COUNT(*)/ (SELECT COUNT(*)
FROM USER_INFO WHERE YEAR(JOINED) = 2021)), 1) AS PUCHASED_RATIO
FROM (
SELECT DISTINCT YEAR(sales_date) AS YEAR, MONTH(sales_date) AS MONTH, S.USER_ID
FROM ONLINE_SALE AS S
JOIN USER_INFO AS U
ON S.user_id=U.user_id
WHERE YEAR(joined)=2021
) A
GROUP BY YEAR, MONTH
ORDER BY YEAR, MONTH;
우선 분자부터 구한다고 생각하고 풀면 되는 문제였다. 약간 까다롭긴 했는데 보면 충분히 이해할 수 있었다!
'SQLD' 카테고리의 다른 글
[프로그래머스 SQL고득점 키트 JOIN]5월 식품들의 총매출 조회하기 (0) | 2023.02.08 |
---|---|
[프로그래머스 SQL고득점 키트 JOIN]주문량이 많은 아이스크림들 조회하기 (0) | 2023.02.08 |
[프로그래머스 SQL고득점 키트 JOIN]상품 별 오프라인 매출 구하기 (0) | 2023.02.08 |
[프로그래머스 SQL고득점 키트 JOIN]보호소에서 중성화한 동물 (0) | 2023.02.08 |
[프로그래머스 SQL고득점 키트 JOIN]오랜 기간 보호한 동물(1) (0) | 2023.02.08 |
댓글