문제
https://school.programmers.co.kr/learn/courses/30/lessons/131534
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제풀이
SELECT YEAR
, TO_NUMBER(MONTH)
, COUNT(1) AS PURCHASED_USERS
, TO_NUMBER(ROUND(COUNT(1) / (SELECT COUNT(1) FROM USER_INFO WHERE TO_CHAR(JOINED,'YYYY') = 2021),1)) AS PUCHASED_RATIO
FROM ( SELECT TO_CHAR(OS.SALES_DATE,'YYYY') AS YEAR
, TO_CHAR(OS.SALES_DATE,'MM') AS MONTH
, OS.USER_ID
FROM ONLINE_SALE OS
JOIN USER_INFO UI ON OS.USER_ID = UI.USER_ID
WHERE TO_CHAR(UI.JOINED,'YYYY') = 2021
GROUP BY TO_CHAR(OS.SALES_DATE,'YYYY'), TO_CHAR(OS.SALES_DATE,'MM'), OS.USER_ID
)
GROUP BY YEAR, MONTH
ORDER BY YEAR, MONTH
'개발공부 > SQL 코딩연습' 카테고리의 다른 글
| 조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2024.11.14 |
|---|---|
| 평균 일일 대여 요금 구하기 (1) | 2024.11.13 |
| 조건에 맞는 사용자 정보 조회하기 (0) | 2024.11.11 |
| 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2024.11.10 |
| 조건에 부합하는 중고거래 상태 조회하기 V2 (0) | 2024.11.08 |