본문 바로가기

SQL문제풀이

(7)
[SQL풀이][solvesql][난이도 3] 쇼핑몰의 일일 매출액과 ARPPU https://solvesql.com/problems/daily-arppu/ solvesql.com 문제이해이커머스 사이트의 일별 매출, 일별 결제고객수, 일별 결제고객당 평균 결제금액 (ARPPU)를 구하라ARPPU : Average Revenue Per Paying Users (결제고객당 평균 결제금액)계산식 : ARPPU = daily revenue / # paying users조건2018년 1월 1일 이후 내역만 조회날짜기준 오름차순 정렬테이블orders order_id, customer_id, order_purchase_timestamp(구매시각)order_paymentsorder_id, payment_value 접근방법order_id를 기준으로 두 테이블(orders, order_payment..
[SQL풀이][solvesql][난이도 2] 우리 플랫폼에 정착한 판매자 2 https://solvesql.com/problems/settled-sellers-2/ solvesql.com 문제이해이커머스 플랫폼의 판매자 中 가격이 50달러 이상인 상품이 포함된 주문이 100건 이상인 판매자 리스트 출력이전 문제(우리 플랫폼에 정착한 판매자 1)에 '가격이 50달러 이상인 상품이 포함된' 주문이라는 조건이 추가 https://justwritedown.tistory.com/20 [SQL풀이][solvesql][난이도 1] 우리 플랫폼에 정착한 판매자 1https://solvesql.com/problems/settled-sellers-1/ solvesql.com 문제이해 이커머스 플랫폼의 판매자 中 총 주문이 100건 이상 들어온 판매자 리스트 출력 목적 : 어떤 seller의 판매량..
[SQL풀이][solvesql][난이도 1] 우리 플랫폼에 정착한 판매자 1 https://solvesql.com/problems/settled-sellers-1/ solvesql.com 문제이해이커머스 플랫폼의 판매자 中 총 주문이 100건 이상 들어온 판매자 리스트 출력목적 : 어떤 seller의 판매량이 높은지 확인 접근방법seller_id 기준으로 고유 order_id 수를 count -> orders로 정의orders가 100개 이상인 레코드 필터링orders 기준 내림차순 정렬 풀이코드SELECT seller_id, COUNT(DISTINCT (order_id)) AS ordersFROM olist_order_items_datasetGROUP BY seller_idHAVING orders > 100ORDER BY..
[SQL풀이][StrataScratch][hard] Premium vs Freemium StrataScratch - Premium vs Freemium platform.stratascratch.com 문제이해 일별(daily) 유료(paying) 및 무료(non_paying) 다운로드 수를 집계한 후, 무료 다운로드 수가 유료 다운로드 수보다 큰 레코드를 출력 date 컬럼 기준 오름차순 정렬 접근방법 주어진 3개의 테이블 中 date가 포함된 ms_downlaod_facts를 기준으로 나머지 2개의 테이블 JOIN 실시 ms_download_facts : date-user별 다운로드 수 ms_user_dimension : user가 다운로드한 contents id ms_acc_dimension : contents id별 정보(유료/무료) 일별 유료 다운로드 수, 무료 다운로드 수 테이블 ..
[SQL풀이][StrataScratch][medium] Users By Average Session Time StrataScratch - Users By Average Session Time platform.stratascratch.com 문제이해 유저별 평균 session time을 계산하기 session 정의 : action 컬럼의 page_load 이벤트와 page_exit 이벤트 사이 한 세션 內 page_load 이벤트나 page_exit 이벤트가 2개 이상인 경우 page_load : 가장 최근의 page_load 기준 page_exit : 가장 빠른 page_exit 기준 유저당 최대 1일 1세션 (편의상) 접근방법 user_id - 날짜 조합을 unique key로 page_load와, page_exit의 timestamp를 각각 계산 위에서 계산된 timestamp를 이용하여 session ti..
[SQL풀이][LeetCode][easy] 1731. The Number of Employees Which Report to Each Employee https://leetcode.com/problems/the-number-of-employees-which-report-to-each-employee/description/ The Number of Employees Which Report to Each Employee - LeetCode Can you solve this real interview question? The Number of Employees Which Report to Each Employee - Table: Employees +-------------+----------+ | Column Name | Type | +-------------+----------+ | employee_id | int | | name | varchar | |..
[SQL풀이][LeetCode][easy] 1251. Average Selling Price https://leetcode.com/problems/average-selling-price/description/ Average Selling Price - LeetCode Can you solve this real interview question? Average Selling Price - Table: Prices +---------------+---------+ | Column Name | Type | +---------------+---------+ | product_id | int | | start_date | date | | end_date | date | | price | int | +--------------- leetcode.com 문제설명 Prices와 UnitsSold 테이블을 참고..