티스토리 뷰
포스팅에 앞서 내용이 틀릴 수 있습니다.
해당 부분 지적 감사히 받습니다.
문제를 보자.
핵심은 (2021년 가입회원 중 물건 산 회원 수/2021년에 가입한 전체 회원수)이다.
이번 문제를 풀며 느낀 건... 테이블 조인 시, 조건에 따라 사라지는 행에 대해서도 항상 고려해야 한다는 것을 다시 상기하였다.
항상 느끼지만, 문제를 풀기 전에 손부터 가지 말고 방향성부터 정하고 손을 대야 한다.
또.. MONTH출력 부분에 1월이면 ex) 1로 출력해야 하는데 to_char() 함수의 형변환을 통해, 01로 출력이 되어 문제 해결에 지연이 있었다.
to_number를 통해 출력하면 01 -> 1로 출력된다.
나는 쿼리가 틀린 줄 알고 계속 헤맸다.
프로그래머스의 문제는 단순히 문제 로직을 해결할 뿐만 아니라, 함수의 쓰임에 대해서도 다시 한번 생각해 보게 끔 하는 문제들이 많아 참 좋다.
쿼리 :
SELECT TO_CHAR(SALES_DATE, 'YYYY') AS YEAR,
TO_NUMBER(TO_CHAR(SALES_DATE, 'MM')) AS MONTH,
COUNT(DISTINCT O.USER_ID) AS PURCHASED_USERS,
ROUND(COUNT(DISTINCT USER_ID) / (SELECT COUNT(1) FROM USER_INFO WHERE TO_CHAR(JOINED,'YYYY') = '2021'),1) AS PUCHASED_RATIO
FROM ONLINE_SALE O
WHERE O.USER_ID IN (SELECT USER_ID FROM USER_INFO WHERE TO_CHAR(JOINED,'YYYY') = '2021')
GROUP BY TO_CHAR(O.SALES_DATE, 'YYYY'), TO_CHAR(O.SALES_DATE, 'MM')
ORDER BY 1, 2
;
'프로그래머스' 카테고리의 다른 글
[프로그래머스] ORACLE 끝 (88) | 2024.03.05 |
---|---|
[프로그래머스] 카테고리 별 상품 개수 구하기 (4) | 2024.03.05 |
[프로그래머스] 오랜 기간 보호한 동물(2) (89) | 2024.03.04 |
[프로그래머스] 중성화 여부 파악하기 (92) | 2024.03.03 |
[프로그래머스] 이름에 el이 들어가는 동물 찾기 (87) | 2024.03.01 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 기술스택
- 프로그래머스 상품을 구매한 회원 비율 구하기
- 백준 피보나치
- los 15
- 자바
- 김영한 실전 자바 기초
- 김영한
- 프로그래머스
- lord of sql
- extends
- 상품을 구매한 회원 비율 구하기 파이썬
- ys.k
- samron
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- 스프링
- zixem
- 상속
- spring
- los 15단계
- static
- 코딩테스트
- Los
- java
- 백준 피보나치 수열
- samron3
- 김영한 실전 자바 기본
- webhacking.kr
- 김영한 실전 자바 중급
- 코딩테스트 준비
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
250x250