상세 컨텐츠

본문 제목

[오늘의 코드 102] [solvesql] 첫 주문과 마지막 주문

카테고리 없음

by eun_00 2024. 8. 21. 20:31

본문

https://solvesql.com/problems/olist-daily-revenue/

 

https://solvesql.com/problems/olist-daily-revenue/

 

solvesql.com

[문제]

  • Brazilian E-Commerce Public Dataset by Olist 데이터셋은 브라질의 이커머스 웹사이트인 Olist Store의 판매 데이터 입니다. 그 중 olist_orders_dataset 테이블에는 주문 ID, 고객 ID, 주문 상태, 구매 시각 등 주문 내역 데이터가 들어있습니다. olist_order_payments_dataset 테이블에는 주문 ID, 결제 방법, 결제 금액 등 각 주문의 결제와 관련된 정보가 저장되어 있습니다. 두 테이블을 이용해 2018년 1월 1일 이후 쇼핑몰의 일일 매출액을 계산하는 쿼리를 작성해주세요.쿼리 결과는 아래 두 컬럼을 포함해야 하고, 매출 날짜 기준으로 오름차순 정렬되어 있어야 합니다. 매출액은 반올림 해 소수점 둘째자리까지 출력해주세요.
    • dt - 매출 날짜 (예: 2018-01-01)
    • revenue_daily - 해당 날짜의 매출액
  • 주문 각각에 대해 매출이 일어나는 시점은 olist_orders_dataset 테이블의 order_purchase_timestamp 컬럼에 기록되고, 주문 금액은 olist_order_payments_dataset 테이블의 payment_value 컬럼에 기록됩니다.

[💡 정답]

SELECT 
  DATE(order_purchase_timestamp) AS dt, 
  ROUND(SUM(payment_value), 2) AS revenue_daily 
FROM olist_orders_dataset o
JOIN olist_order_payments_dataset p
  ON 
    o.order_id = p.order_id
WHERE 
    order_purchase_timestamp >= '2018-01-01'
GROUP BY 
    DATE(order_purchase_timestamp)
ORDER BY 
    dt ASC;
 

 ✔️ 알게된 것 

- 일일 매출 확인을 위해 날짜로 그룹화