728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/131534
정답 코드
SELECT YEAR(SALES_DATE) AS YEAR, MONTH(SALES_DATE) AS MONTH,
COUNT(DISTINCT USER_ID) AS PUCHASED_USERS,
ROUND(COUNT(DISTINCT USER_ID)/(SELECT COUNT(USER_ID) FROM USER_INFO WHERE YEAR(JOINED) = 2021), 1) AS PUCHASED_RATIO
FROM USER_INFO JOIN ONLINE_SALE USING (USER_ID)
WHERE JOINED LIKE "2021%"
GROUP BY YEAR, MONTH
ORDER BY YEAR, MONTH;
WITH USER_2021 AS(
SELECT USER_ID
FROM USER_INFO
WHERE YEAR(JOINED) = 2021
)
SELECT YEAR(SALES_DATE) AS YEAR, MONTH(SALES_DATE) AS MONTH,
COUNT(DISTINCT USER_ID) AS PUCHASED_USERS,
ROUND(COUNT(DISTINCT USER_ID) / (SELECT COUNT(USER_ID) FROM USER_2021),1) AS PUCHASED_RATIO
FROM ONLINE_SALE
WHERE USER_ID IN (SELECT USER_ID FROM USER_2021)
GROUP BY YEAR, MONTH
ORDER BY YEAR, MONTH
- 문제 자체에 오타가 있어서 PURCHASED가 아니라 PUCHASED라고 해야한다.
728x90
반응형
'Problem Solving > 프로그래머스' 카테고리의 다른 글
[MySQL] 프로그래머스 131123. 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2024.03.01 |
---|---|
[MySQL] 프로그래머스 276035. FrontEnd 개발자 찾기 (0) | 2024.03.01 |
[MySQL] 프로그래머스 131533. 상품 별 오프라인 매출 구하기 (0) | 2024.03.01 |
[MySQL] 프로그래머스 59045. 보호소에서 중성화한 동물 (0) | 2024.03.01 |
[MySQL] 프로그래머스 59044. 오랜 기간 보호한 동물(1) (0) | 2024.02.29 |