Notice
Recent Posts
Recent Comments
Link
회계 밖 세상
SQLite 실무 활용: 판매 데이터 분석 SQL 정리 본문
반응형
SQLite 실무 활용: 판매 데이터 분석 SQL 정리
업무 중 판매 데이터 테이블을 분석해야 하는 일이 생겼습니다. 특히 진행단계
, 지역
, 상품유형
, 카테고리
, 브랜드
, 할인여부
등 다양한 필드가 포함된 테이블을 요약하고, 이를 보고용 테이블 형태로 출력해야 했습니다.
이번 글에서는 SQLite를 활용하여 이 데이터를 어떻게 효율적으로 그룹핑, 요약, 피벗할 수 있었는지를 정리해봅니다.
1. 데이터 구조 요약
테이블명: 판매현황_2024
주요 필드:
- 기준 필드:
진행단계
,지역코드
,지역명
,상품유형
,유형명
,카테고리
,카테고리명
,브랜드
,브랜드명
,할인여부
- 요약 필드:
매출액
,순이익
2. 기본 요약 쿼리 – 전체 데이터를 기준으로 매출액, 순이익 합계
SELECT
진행단계,
지역코드,
지역명,
할인여부,
상품유형,
유형명,
카테고리,
카테고리명,
브랜드,
브랜드명,
SUM(매출액) AS 합계_매출액,
SUM(순이익) AS 합계_순이익
FROM 판매현황_2024
GROUP BY 진행단계, 지역코드, 지역명, 할인여부, 상품유형, 유형명, 카테고리, 카테고리명, 브랜드, 브랜드명
ORDER BY 진행단계, 지역코드, 카테고리, 브랜드;
✔ 이 쿼리는 필터 없이 전체 판매 데이터를 기준으로 요약합니다.
✔ 실무에서 보고용 자료로 활용하기 좋으며, GROUP BY
필드를 상황에 맞게 조정할 수 있습니다.
3. 피벗 형태로 보고 싶을 때 (예: 할인여부를 열로, 매출액 합계 보기)
SELECT
카테고리,
카테고리명,
브랜드,
브랜드명,
SUM(CASE WHEN 할인여부 = 'N' THEN 매출액 ELSE 0 END) AS 정가판매,
SUM(CASE WHEN 할인여부 = 'Y' THEN 매출액 ELSE 0 END) AS 할인판매,
SUM(매출액) AS 총매출액
FROM 판매현황_2024
GROUP BY 카테고리, 카테고리명, 브랜드, 브랜드명
ORDER BY 카테고리, 브랜드;
✔ 엑셀의 피벗처럼 열을 할인여부
로 나누고 싶을 때 사용하는 방식입니다.
✔ SQLite는 PIVOT
키워드가 없기 때문에 CASE WHEN
을 활용해 직접 구현해야 합니다.
4. 특정 조건(예: 지역 = 서울지점)만 필터링하고 싶은 경우
WHERE 지역코드 = 'SEL001' AND 지역명 = '서울지점'
✔ 위 조건을 기존 쿼리에 붙이면, 해당 지점의 데이터만 요약 가능합니다.
✔ 실무에서는 보고 단위(지점, 부서 등)에 따라 SQL 조건을 쉽게 바꿀 수 있어야 합니다.
마무리 정리
목적 | SQL 접근 방식 |
---|---|
기준 필드별 요약 | GROUP BY + SUM() |
조건 필터링 | WHERE 절 |
피벗 형태 요약 | CASE WHEN + SUM() |
정렬 보기 좋게 | ORDER BY 사용 |
💡 실무 팁
- Access나 SQLite에서
#######
로 숫자가 잘릴 경우 → 열 너비 조정 필요 - 수치 비교를 위한 정확한 단위(천, 백만, 억 단위 등)는 후처리 시 고려
- 반복되는 SQL은 템플릿으로 만들어 두면 분석 속도 향상
반응형
'IT이야기' 카테고리의 다른 글
🚨 급여명세서 피싱 메일 주의보: 실제 사례와 대처법 (0) | 2025.06.13 |
---|---|
조심하세요! FedEx 가짜 배송 알림 스팸 메일 완벽 대처법 (0) | 2025.06.10 |
"월 500만원 버는 쉬운 알바?" 이런 문자 받으셨다면 지금 당장 삭제하세요 (0) | 2025.06.08 |
"메일함 용량 초과" "계정 정지" 이런 메일 받으셨나요? 100% 피싱입니다 (0) | 2025.06.08 |
SQL로 특정 조건 데이터 효율적으로 추출하기 (0) | 2025.06.01 |