📜 문제 설명
Brazilian E-Commerce Public Dataset by Olist 데이터셋은 브라질의 이커머스 웹사이트인 Olist Store의 판매 데이터 입니다. 그 중 olist_orders_dataset 테이블에는 주문 ID, 고객 ID, 주문 상태, 구매 시각 등 주문 내역 데이터가 들어있습니다. Olist의 주문부터 배송까지 프로세스는 다음 단계를 통해 이루어지고, 각 단계마다 시각을 기록하고 있습니다.
- 고객의 구매
- order_purchase_timestamp 컬럼에 구매 시점이 저장됨
- 판매자가 주문을 승인
- order_approved_at 컬럼에 승인 시점이 저장됨
- 택배사에 도착하여 배송 시작
- order_delivered_carrier_date 컬럼에 배송 시작 시점이 저장됨
- 배송 완료
- order_delivered_customer_date 컬럼에 배송 완료 시점이 저장됨
종종 택배사에 물건을 보내 배송 시작이 되었는데, 고객에게 택배가 도착하지 않는 일이 있습니다. 이런 경우 order_delivered_carrier_date 컬럼에 택배사 도착 시각은 기록되지만, order_delivered_customer_date 컬럼의 값은 null으로 저장됩니다.
일단 원인을 파악하기 전에 이런 일들이 얼마나 발생하고 있는지 현황 파악을 해보려고 합니다. 2017년 1월 한 달 동안 택배사에 전달되었지만 배송 완료는 되지 않은 주문 건수를 택배사 도착일을 기준으로 집계하는 쿼리를 작성해주세요. 쿼리 결과는 택배사 도착일을 기준으로 오름차순 정렬되어야 하고, 아래 컬럼을 포함해야 합니다.
- delivered_carrier_date - 택배사 도착 날짜 (예: 2017-01-16)
- orders - 택배사에 도착했지만, 고객에게 배송되지 않은 주문 건 수
olist_orders_dataset 테이블
- string | order_id 주문 ID
- string | customer_id 소비자 ID
- string | order_status 주문 상태
- datetime | order_purchase_timestamp 구매 시각
- datetime | order_approved_at 주문 승인 시각
- datetime | order_delivered_carrier_date 배송 시작 시각
- datetime | order_delivered_customer_date 배송 완료 시각
- datetime | order_estimated_delivery_date 배송 예정 시각
❓ 문제
2017년 1월 한 달 동안 택배사에 전달되었지만 배송 완료는 되지 않은 주문 건수를 택배사 도착일을 기준으로 집계하는 쿼리를 작성해주세요. 쿼리 결과는 택배사 도착일을 기준으로 오름차순 정렬되어야 하고, 아래 컬럼을 포함해야 합니다.
- delivered_carrier_date - 택배사 도착 날짜 (예: 2017-01-16)
- orders - 택배사에 도착했지만, 고객에게 배송되지 않은 주문 건 수
🔗 문제 링크
https://solvesql.com/problems/shipment-in-bermuda/
💡 문제 풀이
조건문 : 택배사에는 2017년 1월에 도착했는데 고객에게 도착한 기록이 없는 데이터
GROUP : 날짜를 기준으로 그룹
SELECT
DATE(order_delivered_carrier_date) AS delivered_carrier_date,
COUNT(order_id) AS orders
FROM
olist_orders_dataset
WHERE
order_delivered_carrier_date LIKE '2017-01%'
AND order_delivered_customer_date IS NULL
GROUP BY
DATE(order_delivered_carrier_date)
ORDER BY
delivered_carrier_date
'✨APS (Algorithm Problem Solving) > SolveSQL' 카테고리의 다른 글
[solvesql] 레스토랑의 요일별 VIP / SQLite (0) | 2022.12.21 |
---|---|
[solvesql] 지역별 주문의 특징 / SQLite (0) | 2022.12.12 |
[solvesql] 점검이 필요한 자전거 찾기 / SQLite (0) | 2022.12.06 |
[solvesql] 배송 예정일 예측 성공과 실패 / SQLite (0) | 2022.12.06 |
[solvesql] 할부는 몇 개월로 해드릴까요 / SQLite (2) | 2022.11.25 |