728x90
반응형
SMALL
상품을 구매한 회원 비율 구하기
문제 출처
코딩테스트 연습 - 상품을 구매한 회원 비율 구하기 | 프로그래머스 스쿨 (programmers.co.kr)
Code
SELECT DATE_FORMAT(B.SALES_DATE, "%Y") AS YEAR,
DATE_FORMAT(B.SALES_DATE, "%m") AS MONTH,
COUNT(DISTINCT A.USER_ID) AS PUCHASED_USERS,
ROUND(COUNT(DISTINCT A.USER_ID) / (SELECT COUNT(*) FROM USER_INFO WHERE joined LIKE CONCAT("2021", "%")),1) AS PUCHASED_RATIO
FROM USER_INFO A JOIN ONLINE_SALE B ON A.USER_ID = B.USER_ID
WHERE A.JOINED LIKE CONCAT("2021", "%")
GROUP BY YEAR,
MONTH
ORDER BY YEAR,
MONTH
#FORMAT은 결과가 문자, ROUND는 결과가 숫자!!!!!!
# USER_INFO 테이블과 ONLINE_SALE 테이블에서
# 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와
# 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수)을
# 년, 월 별로 출력하는 SQL문을 작성해주세요.
# 상품을 구매한 회원의 비율은 소수점 두번째자리에서 반올림하고,
# 년을 기준으로 오름차순, 월을 기준으로 오름차순
여기서 배울점은
먼저 요구하는것이 무엇인지 파악하는 능력과
FORMAT은 결과가 문자, ROUND는 결과가 숫자 인점이다. (여기선 딱히 상관없다)
GROUP BY
COUNT
이것을 어떻게 사용하고 어떨때 사용해야하는지를 완벽하게 이해한다면 손쉽게 풀 수 있다.
오류나 궁금하신점은
아래 댓글로 알려주시면 감사하겠습니다.
728x90
반응형
LIST
'프로그래머스' 카테고리의 다른 글
(MySQL / 프로그래머스) 주문량이 많은 아이스크림들 조회하기 (0) | 2023.09.06 |
---|---|
(MySQL / 프로그래머스) 조건에 맞는 도서 리스트 출력하기 (0) | 2023.09.06 |
(MySQL / 프로그래머스) 서울에 위치한 식당 목록 출력하기 (0) | 2023.09.05 |
(MySQL / 프로그래머스) 조건에 부합하는 중고거래 댓글 조회하기 (0) | 2023.09.05 |
(MySQL / 프로그래머스) 강원도에 위치한 생산공장 목록 출력하기 (0) | 2023.09.05 |