RunTurtle

[ 프로그래머스 sql 문제 풀기 ] 상품을 구매한 회원 비율 구하기 본문

다양한 공부/DATABASE

[ 프로그래머스 sql 문제 풀기 ] 상품을 구매한 회원 비율 구하기

RunTurtle 2024. 3. 5. 00:08

제일 레벨 높은 것이 풀고싶었다!👍

with allJoinUser as (
    select count(*) allJoinUser from USER_INFO ui
    where ui.JOINED like "2021%"
)
select year(sales_date) YEAR
    , month(sales_date) MONTH
    , count(DISTINCT os.user_id) PUCHASED_USERS
    , ROUND(count(DISTINCT os.user_id) / allJoinUser , 1) PUCHASED_RATIO
from
     allJoinUser
    , (select * from USER_INFO ui
       where ui.JOINED like "2021%") ui 
join ONLINE_SALE os on ui.user_id = os.user_id 
group by MONTH
order by YEAR, MONTH

 

서브쿼리 2개 들어가면 너무 복잡해 질것 같아서 with 절로 위로 하나 빼고 했다. 
쿼리 짜기 재밌다!