[코드카타] SQL 15 상품을 구매한 회원 비율 구하기

Data_Student·2024년 11월 5일
0

코드카타

목록 보기
22/57

[코드카타] SQL 15 상품을 구매한 회원 비율 구하기

15. 상품을 구매한 회원 비율 구하기
https://school.programmers.co.kr/learn/courses/30/lessons/131534

#문제 : USER_INFO 테이블과 ONLINE_SALE 테이블에서 2021년에 가입한 전체 회원들 중 상품을 
       구매한 회원수와 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 
       회원수 / 2021년에 가입한 전체 회원 수)을 년, 월 별로 출력하는 SQL문을 작성해주세요. 
       상품을 구매한 회원의 비율은 소수점 두번째자리에서 반올림하고, 전체 결과는 년을 기준으로 
       오름차순 정렬해주시고 년이 같다면 월을 기준으로 오름차순 정렬해주세요.
#조건 1 2021년에 가입한 회원
#조건 2 2021년에 가입한 회원 중 상품을 구매한 회원수
#조건 3 비율을 구하는 쿼리문 작성
with joined_cnt as (
SELECT distinct count(*) cnt
from user_info
where date_format(joined, '%Y') = '2021'
)
select year(sales_date) YEAR, 
       month(sales_date) MONTH, 
       count(distinct user_id) PURCHASED_USERS, 
       round(count(distinct user_id) / (select cnt from joined_cnt),1) PUCHASED_RATIO
from online_sale 
where user_id in (SELECT user_id
                    from user_info
                    where date_format(joined, '%Y') = '2021')
group by 1, 2
order by 1, 2
#생각해보기
#select의 추출하기 위한 컬럼에서도 서브쿼리 작성 가능

0개의 댓글