76. 상품을 구매한 회원 비율 구하기
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/131534
정답 코드:
SELECT
YEAR(os.SALES_DATE) AS YEAR,
MONTH(os.SALES_DATE) AS MONTH,
COUNT(DISTINCT os.USER_ID) AS PURCHASED_USERS,
# 2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수
ROUND(
COUNT(DISTINCT os.USER_ID) /
(
SELECT COUNT(*)
FROM USER_INFO
WHERE JOINED >= '2021-01-01'
AND JOINED < '2022-01-01')
, 1) AS PURCHASED_RATIO
FROM USER_INFO ui
JOIN ONLINE_SALE os
ON os.USER_ID = ui.USER_ID
WHERE ui.JOINED BETWEEN '2021-01-01' AND '2021-12-31'
GROUP BY YEAR(os.SALES_DATE), MONTH(os.SALES_DATE)
ORDER BY YEAR ASC, MONTH ASC;
문제 풀이때 했던 생각.
| # 어느 의류 쇼핑몰에 가입한 회원 정보를 담은 USER_INFO # 테이블과 온라인 상품 판매 정보를 담은 ONLINE_SALE # 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 회원의 비율 # (=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수) # 년, 월 별로 출력 # 상품을 구매한 회원의 비율은 소수점 두번째자리에서 반올림 # 전체 결과는 년을 기준으로 오름차순 정렬 # 년이 같다면 월을 기준으로 오름차순 정렬 |
'E.코드카타 > Level 5' 카테고리의 다른 글
| 코드카타 Level.5 74, 75 (0) | 2026.02.05 |
|---|---|
| 코드카타 Level.5 71~73 (1) | 2026.01.22 |
| 코드카타 Level.5 68~70 (0) | 2026.01.19 |
