SQL 고득점 Kit > JOIN > 상품을 구매한 회원 비율 구하기
상품을 구매한 회원 비율 구하기 Lv.5
USER_INFO 테이블과 ONLINE_SALE 테이블에서 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수)을 년, 월 별로 출력하는 SQL문을 작성해주세요.
상품을 구매한 회원의 비율은 소수점 두번째자리에서 반올림하고, 전체 결과는 년을 기준으로 오름차순 정렬해주시고 년이 같다면 월을 기준으로 오름차순 정렬해주세요.
첫 번째 풀이 : 100점
-- 코드를 입력하세요
SELECT YEAR(B.SALES_DATE) AS YEAR, MONTH(B.SALES_DATE) AS MONTH,
COUNT(DISTINCT B.USER_ID) AS PUCHASED_USERS,
ROUND(COUNT(DISTINCT A.USER_ID)/(SELECT COUNT(*) FROM USER_INFO WHERE YEAR(JOINED) = '2021'), 1) AS PUCHASED_RATIO
FROM USER_INFO A
JOIN ONLINE_SALE B
ON A.USER_ID = B.USER_ID
WHERE YEAR(A.JOINED) = '2021'
GROUP BY YEAR, MONTH
ORDER BY YEAR ASC, MONTH ASC
- 전체의 비율을 구하기 위해 SELECT로 TABLE 만들기
- USER_ID = 1인 사람이 여러 번 구매할 수 있으므로 DISTINCT 사용
'코딩테스트 | SQL > 프로그래머스' 카테고리의 다른 글
| [프로그래머스 | SQL] FrontEnd 개발자 찾기 (0) | 2024.05.13 |
|---|---|
| [프로그래머스 | SQL] 성분으로 구분한 아이스크림 총 주문량 (GROUP BY) (0) | 2024.05.10 |
| [프로그래머스 | SQL] 그룹별 조건에 맞는 식당 목록 출력하기 (JOIN) (0) | 2024.05.10 |
| [프로그래머스 | SQL] 상품 별 오프라인 매출 구하기 (0) | 2024.05.10 |
| [프로그래머스 | SQL] 보호소에서 중성화한 동물 (1) | 2024.05.10 |