프로그래머스 - 상품을 구매한 회원 비율 구하기 (MySQL)

조민수·2024년 6월 15일
0

Programmers

목록 보기
82/85

Lv5, SQL - JOIN


문제

USER_INFO 테이블과 ONLINE_SALE 테이블에서 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수)을 년, 월 별로 출력하는 SQL문을 작성해주세요. 상품을 구매한 회원의 비율은 소수점 두번째자리에서 반올림하고, 전체 결과는 년을 기준으로 오름차순 정렬해주시고 년이 같다면 월을 기준으로 오름차순 정렬해주세요.


풀이

  • Lv5가 2문제 밖에 없어서 난이도 선정 기준을 모르겠으나 조건이 많긴 했음
  • 문제 자체가 어렵진 않았던거 같음
SELECT YEAR(O.SALES_DATE) AS YEAR, MONTH(O.SALES_DATE) AS MONTH,
COUNT(DISTINCT O.USER_ID) AS PURCHASED_USERS,
ROUND(COUNT(DISTINCT O.USER_ID) / (SELECT COUNT(*) FROM USER_INFO WHERE JOINED LIKE '2021%'),1) AS PUCHASED_RATIO
FROM ONLINE_SALE AS O JOIN USER_INFO AS U
ON U.USER_ID = O.USER_ID
WHERE U.JOINED LIKE '2021%'
GROUP BY 1, 2
ORDER BY 1, 2
profile
사람을 좋아하는 Front-End 개발자

0개의 댓글