반응형
츄르사려고 코딩하는집사입니다.
1. [solvesql] 쇼핑몰의 일일 매출액과 ARPPU SQLite
2. 문제 출처
https://solvesql.com/problems/daily-arppu/
3. 풀이
- OLIST_ORDERS_DATASET(OD) 테이블에서 ORDER_ID를 기준으로 OLIST_ORDER_PAYMENTS_DATASET(PD) 테이블과 INNER JOIN을 한다.
- ORDER_PURCHASE_TIMESTAMP를 YYYYMMDD 형식으로 만들어 2018년 01월 01일 이후의 데이터만 가져온다.
- ORDER_PURCHASE_TIMESTAMP를 기준으로 GROUP BY를 해서, 날짜, 고객 수, 매출액, 평균 금액 컬럼까지 구하면 된다.
- 여기서 고객 수는 A라는 사람이 주문을 3번 했어도 고객은 1명이다.
4. 소스 코드
SELECT STRFTIME('%Y-%m-%d', OD.ORDER_PURCHASE_TIMESTAMP) AS "dt"
, COUNT(DISTINCT CUSTOMER_ID) AS "pu"
, ROUND(SUM(PD.PAYMENT_VALUE), 2) AS "revenue_daily"
, ROUND(SUM(PD.PAYMENT_VALUE) / COUNT(DISTINCT CUSTOMER_ID), 2) AS "arppu"
FROM OLIST_ORDERS_DATASET OD
INNER JOIN OLIST_ORDER_PAYMENTS_DATASET PD ON OD.ORDER_ID = PD.ORDER_ID
WHERE STRFTIME('%Y%m%d', OD.ORDER_PURCHASE_TIMESTAMP) >= '20180101'
GROUP BY STRFTIME('%Y%m%d', OD.ORDER_PURCHASE_TIMESTAMP)
ORDER BY "dt"
반응형
'알고리즘 > solvesql' 카테고리의 다른 글
[solvesql] 레스토랑의 요일별 매출 요약 SQLite (0) | 2022.10.21 |
---|---|
[solvesql] 배송 예정일 예측 성공과 실패 SQLite (0) | 2022.10.21 |
[solvesql] 점검이 필요한 자전거 찾기 SQLite (0) | 2022.10.21 |
[solvesql] 멘토링 짝꿍 리스트 SQLite (0) | 2022.10.21 |
[solvesql] 쇼핑몰의 일일 매출액 SQLite (0) | 2022.10.21 |
[solvesql] 버뮤다 삼각지대에 들어가버린 택배 SQLite (0) | 2022.10.20 |
[solvesql] 우리 플랫폼에 정착한 판매자 1 SQLite (0) | 2022.10.20 |
[solvesql] 우리 플랫폼에 정착한 판매자 1 오라클(Oracle) (0) | 2022.10.20 |
최근댓글