Allen's 데이터 맛집
프로그래머스 lv. 5 : 상품을 구매한 회원 비율 구하기 본문
이 문제에서는 2021년에 가입한 회원 중에서 상품을 구매한 회원의 비율을 계산하는 것이 목표입니다.
문제
풀이
-- 2021년에 가입한 회원 중 상품을 구매한 회원 비율 구하기
SELECT
YEAR(SALES_DATE) AS "Year",
MONTH(SALES_DATE) AS "Month",
COUNT(DISTINCT os.USER_ID) AS "Purchased Users",
ROUND(COUNT(DISTINCT os.USER_ID) / COUNT(DISTINCT ui.USER_ID), 2) AS "Purchased Ratio"
FROM
ONLINE_SALE os
JOIN
USER_INFO ui ON os.USER_ID = ui.USER_ID
WHERE
YEAR(ui.JOINED) = 2021
GROUP BY
YEAR(SALES_DATE), MONTH(SALES_DATE)
ORDER BY
YEAR(SALES_DATE), MONTH(SALES_DATE);
1. ONLINE_SALE과 USER_INFO 테이블을 USER_ID를 기준으로 조인합니다.
2. WHERE 절에서는 USER_INFO 테이블의 JOINED 컬럼에서 연도가 2021인 회원만 선택합니다.
3. COUNT(DISTINCT os.USER_ID)를 통해 각 년월에 구매한 회원 수를 계산합니다.
4. COUNT(DISTINCT ui.USER_ID)를 통해 2021년에 가입한 전체 회원 수를 계산합니다.
5. ROUND 함수를 사용하여 구매한 회원의 비율을 소수점 두 자리로 반올림합니다.
6. 결과를 년과 월 별로 그룹화하고 정렬하여 출력합니다.
https://school.programmers.co.kr/learn/courses/30/lessons/131534
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr