✅ 문제3. 유저별 결제 및 주문 분석
⭐️ 배송 완료된 주문은 고객 구매 패턴이 분석 가능해 이를 통한 맞춤형 마케팅 전략 수립 가능!
[문제]
배송된 주문을 기준으로 고유 고객 수, 총 주문 수, 총 결제 금액, 그리고 고객 1명당 평균 결제액을 계산하세요.
✔️ 테이블:❤️ (고객 데이터 들어있는 테이블), 💛 (결제 관련 데이터 들어있는 테이블)
✔️ 필요한 컬럼: 고객 ID, 주문 번호, 주문 현황, 결제 금액
✔️ 조건: 배송된 주문 기준
✔️ 사용할 함수: COUNT, SUM, AVG, JOIN
SELECT
1️⃣ COUNT(DISTINCT a.고객 ID) "고유 고객 수",
2️⃣ COUNT(a. 주문 번호) "총 주문 수",
3️⃣ SUM(결제 금액) "총 결제 금액",
4️⃣ AVG(결제 금액) "고객 1명당 평균 결제액"
FROM ❤️ a(약어) INNER JOIN 💛 b(약어) ON a.주문 번호=b.주문 번호
WHERE 주문 현황 = 'delivered' (배송 완료된 상태)
Tip📍
1️⃣ 두 테이블에 있는 데이터 가져오므로 JOIN 함수 사용해 데이터 결합
2️⃣ 보통 별칭은 영문으로 사용하는 것 권장 (실무에서는 한글 거의 XX)
❓ 고객 ID와 주문 번호 둘 다 COUNT를 사용했는데 왜 고객 ID에만 DISTINCT를 붙이나요?
➡️ 주문 번호는 공통 컬럼, 즉 기본키(PK: Primary Key)로서 중복이 없는 것이 특징인데 DISTINCT는 중복을 제거하기 위한 것이므로 총 주문 수 구할 때는 사용 X
⭐️ 고객 ID에는 같은 고객이 여러 번 구매가 가능하여 중복 가능성 O