테이블 정보와 실전 쿼리 실습 1

Ryan·2025년 1월 13일

SQL/Python 분석

목록 보기
39/94
/* 기본 주문 정보 (주문 수, 총 금액) */
SELECT
    COUNT(DISTINCT order_id) AS unique_orders, -- 전체 주문 건수
    SUM(price) AS ord_amt -- 주문 금액 총합
FROM `olist.olist_order_items`;

/* 기본 주문 정보 */
SELECT
    COUNT(DISTINCT order_id) AS unique_orders, -- 전체 주문 건수
    SUM(price) AS ord_amt, -- 주문 금액 총합
    SUM(price) / COUNT(DISTINCT order_id) AS amount_per_order -- 주문 금액 총합 / 주문 건수
FROM `olist.olist_order_items`;

테이블 사용 시 유의사항

주문 정보 테이블

olist_orders

컬럼명설명
order_id주문번호
customer_id고객번호
order_status주문상태
order_purchase_timestamp구입일자
order_approved_at주문승인일자
order_delivered_carrier_date물류업체 도착일자
order_delivered_customer_date배송완료일자 (고객)
order_estimated_delivery_date배송예정일자

고객 정보와 관련된 특이점

  • customer_id가 매 주문 건마다 새로 생성됩니다.

Example Table

Order_idCustomer_id
주문1ID1
주문2ID2
주문3ID3

유의사항

  • 주문 테이블 내 주문 건수와 고객번호 수는 일치합니다.
  • 서로 다른 customer_id가 같은 고객일 수 있습니다.
  • 고객 정보 테이블에 customer_unique_id가 존재합니다.

주문 상품 정보 테이블

olist_order_items

컬럼명설명
order_id주문번호
order_item_id품목수 (동일 제품의 구매번호)
product_id제품번호
seller_id판매처
shipping_limit_date판매처한계일자 (판매마감일자)
price판매가격
freight_value운송비용

동일 주문 건에서 동일 제품 구매 시 주의점

Example Table

Order_idProduct_idOrder_item_id
주문1A1
주문1A2
주문1A3

유의사항

  • order_item_id를 모두 더하면 잘못된 합산이 발생할 수 있습니다.

결론

olist_orders와 olist_order_items 테이블을 사용하여 실전 쿼리를 작성할 때는 위 유의사항을 반드시 고려해야 합니다. 특히 고객 ID와 주문 ID, 품목 수 합산 시 발생할 수 있는 오류를 방지하기 위해 테이블의 구조와 데이터를 정확히 이해하는 것이 중요합니다.

0개의 댓글