Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- pandas profiling
- ABC Analysis
- forecast
- eda
- 코딩테스트연습
- 피그마인디언
- Product Demand
- oracle
- tensorflow
- Gaimification
- 당신의 인생이 왜 힘들지 않아야 한다고 생각하십니까
- ModelCheckPoint
- 코딩테스트
- 파이썬
- SKU Consolidation
- MS SQL Server
- 프로그래머스
- kaggle
- MySQL
- 딥러닝
- SQL
- Labor Management System
- leetcode
- 신경쓰기의 기술
- Inventory Optimization
- 데이터분석
- 웨어하우스 보관 최적화
- TensorFlowGPU
- HackerRank
- ProfileReport
Archives
- Today
- Total
오늘도 배운다
상품을 구매한 회원 비율 구하기 / 프로그래머스, SQL, MySQL 코딩테스트 연습 JOIN 본문
코딩테스트연습(SQL)
상품을 구매한 회원 비율 구하기 / 프로그래머스, SQL, MySQL 코딩테스트 연습 JOIN
LearnerToRunner 2022. 11. 29. 11:10문제
USER_INFO 테이블과 ONLINE_SALE 테이블에서 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수)을 년, 월 별로 출력하는 SQL문을 작성해주세요. 상품을 구매한 회원의 비율은 소수점 두번째자리에서 반올림하고, 전체 결과는 년을 기준으로 오름차순 정렬해주시고 년이 같다면 월을 기준으로 오름차순 정렬해주세요.
제출답안(MySQL)
SELECT YEAR(os.sales_date) AS year,
MONTH(os.sales_date) AS month,
COUNT(DISTINCT(os.user_id)) AS purchased_users,
ROUND(COUNT(DISTINCT(os.user_id))/
(SELECT COUNT(user_id) FROM user_info WHERE YEAR(joined) = 2021), 1) AS purchased_ratio
FROM(
online_sale AS os LEFT JOIN user_info AS ui
ON os.user_id = ui.user_id
)
WHERE YEAR(joined) = 2021
GROUP BY year, month
ORDER BY year, month
풀이(MySQL)
더보기
Online_sale 및 User_info 조인 후 2021년도 가입자만 추려낸 테이블
FROM(
online_sale AS os LEFT JOIN user_info AS ui
ON os.user_id = ui.user_id
)
WHERE YEAR(joined) = 2021
연, 월, 2021년 가입자 중 구매한 인원 수, 2021년 가입자 중 구매자 비율 계산
>> 테이블 자체가 2021년 가입자의 구매자료만 있기 때문에 COUNT(os.user_id)를 하더라도 online_sale 테이블에서 2021년 가입자 수가 나오게 됨
SELECT YEAR(os.sales_date) AS year,
MONTH(os.sales_date) AS month,
COUNT(DISTINCT(os.user_id)) AS purchased_users,
ROUND(COUNT(DISTINCT(os.user_id))/
(SELECT COUNT(user_id) FROM user_info WHERE YEAR(joined) = 2021), 1) AS purchased_ratio
문제 바로가기(MySQL)
728x90
'코딩테스트연습(SQL)' 카테고리의 다른 글
Weather Observation Station 4 / HackerRank, SQL, MySQL (0) | 2022.11.30 |
---|---|
Weather Observation Station 3 / HackerRank, SQL, MySQL (0) | 2022.11.30 |
우유와 요거트가 담긴 장바구니 / 프로그래머스, SQL, MySQL 코딩테스트 연습Summer/Winter Coding(2019) (0) | 2022.11.29 |
식품분류별 가장 비싼 식품의 정보 조회하기 / 프로그래머스, SQL, MySQL 코딩테스트 연습GROUP BY (0) | 2022.11.28 |
5월 식품들의 총매출 조회하기 / 프로그래머스, SQL 코딩테스트 연습 JOIN (0) | 2022.11.28 |
Comments