본문 바로가기

학습/SQL

[solvesql] SQL 풀어보기 - 할부는 몇 개월로 해드릴까요

✔️ 문제

고객이 Olist 상점에서 신용카드로 주문한 내역을 할부 개월 수 별로 나누어 살펴보려고 합니다. 할부 개월 수 별로 주문 수, 최소 결제 금액, 최대 결제 금액, 평균 결제 금액을 집계해주세요. 결과 데이터에는 5개의 컬럼이 들어가야 합니다.

✔️ LEVEL 3

 

📌 주요 요구사항

  1. 결제 수단이 신용카드인 경우만 추출
  2. 할부 개월 수를 기준으로 그룹화
  3. 각 그룹별 주문 수 및 결제 금액 집계
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

✍ 코드 해석

  1. 신용카드 결제 데이터 필터링
    • WHERE payment_type = 'credit_card'
  2. 할부 개월 수(payment_installments)를 기준으로 그룹화
    • GROUP BY payment_installments
  3. 각 할부 개월 수 그룹별 집계 수행
    • COUNT(DISTINCT ORDER_ID): 주문 수 계산
    • MIN(payment_value): 최소 결제 금액
    • MAX(payment_value): 최대 결제 금액
    • AVG(payment_value): 평균 결제 금액

📌 실행 결과

  • 24개의 데이터가 출력됨
  • 할부 개월 수별 주문 건수와 결제 금액 집계 완료