데브허브 | DEVHUB | Data Analysis in SQL: Top 10 CustomersData Analysis in SQL: Top 10 Customers
- SQL을 사용하여 온라인 상점의 상위 10명 고객을 총 지출액 기준으로 식별하는 방법을 설명합니다. 🎯
- 고객, 송장, 송장 품목 데이터를 포함하는 인기 있는 Chinook 데이터베이스를 활용합니다. 📚
customer, invoice, InvoiceLine 세 가지 주요 테이블을 사용하며, 고객은 여러 송장을 가질 수 있고 각 송장은 여러 품목을 가질 수 있는 관계입니다. 📊
- 분석 과정은
customer와 invoice 테이블을 customer_id로 조인하고, SUM(invoice_total)로 고객별 총 지출액을 계산한 후, 고객 정보로 GROUP BY를 수행합니다. 💰
- 최종적으로
ORDER BY total_spend DESC로 내림차순 정렬하고 LIMIT 10 (또는 SQL 벤더에 따른 FETCH FIRST, TOP 10)을 적용하여 상위 10명 고객을 추출합니다. 🏆
- 흔한 실수로 집계 함수 사용 시
GROUP BY 누락, ORDER BY 방향 오류(ASC 사용), 그리고 InvoiceLine과 같은 불필요한 테이블 조인으로 인한 총액 과대 계산 문제가 발생할 수 있음을 경고합니다. ⚠️
- 불필요한 조인은
invoice_total이 중복 합산되어 고객 총 지출액이 실제보다 훨씬 높게 계산되는 결과를 초래할 수 있으므로, 조인 조건과 필요한 테이블 선택에 주의해야 합니다. 🧐
- 이 프로젝트를 연습할 수 있도록 ERD, 테이블 설명, SQL 쿼리가 포함된 무료 데이터 분석 프로젝트 가이드를 제공합니다. 📖
- 다음 단계로 SQL 윈도우 함수를 사용하여 고객 순위를 더욱 유연하게 매기는 방법을 학습할 것을 권장합니다. 🚀