본문 바로가기
Coding Test/SolveSQL

[SolveSQL] 할부는 몇 개월로 해드릴까요?

by hyeeein 2022. 3. 18.
  • 문제 : 신용카드로 주문한 내역을 할부 개월 수 별로 주문 수, 최소 결제 금액, 최대 결제 금액, 평균 결제 금액 집계 https://solvesql.com/problems/installment-month/
  • 사용할 테이블과 내용
    • olist_order_payments_dataset : 주문 ID, 결제 방법, 할부 개월 수, 결제 금액

 

 

1. 결제 방법을 확인하기 위해 아래 코드로 확인

  • 신용카드로 주문한 것을 셀에 어떻게 표현했는지 확인하기 위해 아래 코드로 확인 (credit_card)
  select payment_type
  from olist_order_payments_dataset
  limit 10;

 

 

2. 출력할 컬럼 작성

  • payment_installments : 할부 개월 수
  • order_count : distinct로 중복을 제거하여 주문 ID를 통해 주문 수 집계 (distinct 안 써서 오류났었다)
  • min_value : min( ) 함수 사용하여 최소 결제 금액 구하기
  • max_value : max( ) 함수 사용하여 최대 결제 금액 구하기
  • avg_value : avg( ) 함수 사용하여 평균 결제 금액 구하기

 

 

3. 신용카드 결제 내역 중~ 이라고 했으므로 where 조건 작성

where payment_type = 'credit_card'

 

 

4. 최종 코드

select
  payment_installments,
  count(distinct order_id) as order_count,
  min(payment_value) as min_value,
  max(payment_value) as max_value,
  avg(payment_value) as avg_value
from
  olist_order_payments_dataset
where
  payment_type = 'credit_card'
group by
  payment_installments