✔️ 난이도 3
고객이 Olist 상점에서 신용카드로 주문한 내역을 할부 개월 수 별로 나누어 살펴보려고 합니다.
➡️ 베이스 테이블, 그룹화 기준, 조건
olist_order_payments_dataset 테이블을 베이스 테이블로 잡아
payment_type이 "credit_card"인 레코드들을 필터링하고
payment_installments를 기준으로 그룹핑을 진행한다.
할부 개월 수 별로 주문 수, 최소 결제 금액, 최대 결제 금액, 평균 결제 금액을 집계해주세요.
➡️ 집계 내용
각각 order_id에 count 적용,
payment_value에 min 적용,
payment_value에 max 적용,
payment_value에 avg 적용 값을 구한다.
여기서 order_id를 카운트할 때 중복을 제거해야 함에 주의해야한다.
SELECT
payment_installments,
count(DISTINCT order_id) order_count,
min(payment_value) min_value,
max(payment_value) max_value,
avg(payment_value) avg_value
FROM olist_order_payments_dataset
WHERE payment_type = 'credit_card'
GROUP BY payment_installments;