-
[ 프로그래머스 sql 문제 풀기 ] 상품을 구매한 회원 비율 구하기다양한 공부/DATABASE 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 절로 위로 하나 빼고 했다.
쿼리 짜기 재밌다!'다양한 공부 > DATABASE' 카테고리의 다른 글
[ 프로그래머스 sql 문제 풀기 ] 조건에 부합하는 중고거래 댓글 조회하기 (0) 2024.03.02 FROM DUAL의 의미와 활용: 데이터베이스에서의 특별한 쿼리 (2) 2024.01.04