매출액 조회

SOOYEON·2022년 8월 13일
0

SQL

목록 보기
23/54

매출액 (일자별, 월별, 연도별)

일별 매출액 조회

주문일 & 판매액 조회

SELECT A.ORDERDATE, PRICEEACH * QUANTITYORDERED 
FROM ORDERS A 
LEFT JOIN ORDERDETAILS B
ON A.ORDERNUMBER = B.ORDERNUMBER;


일별 매출액 = ORDERDATE 로 그룹핑 + 매출액의 합을 집계 (SUM)

SELECT A.ORDERDATE, SUM(PRICEEACH * QUANTITYORDERED) AS SALES 
FROM ORDERS A 
LEFT JOIN ORDERDETAILS B
ON A.ORDERNUMBER = B.ORDERNUMBER
GROUP BY 1
ORDER BY 1;

월별 매출액 조회

판매일(ORDERDATE) = FORMAT ('yyyy-mm-dd')

ORDERDATE에서 'mm-dd' 만 가져오려면?

SUBSTR

문자열에서 원하는 부분만 가져오기
SUBSTR(문자열, 위치, 길이)

  • SUBSTR로 월별 매출 구하기
SELECT SUBSTR(A.ORDERDATE, 1, 7) 'YYYY-MM',
SUM(PRICEEACH*QUANTITYORDERED) AS SALES
FROM ORDERS A
LEFT JOIN ORDERDETAILS B 
ON A.ORDERNUMBER = B.ORDERNUMBER
GROUP BY 1
ORDER BY 1;

연도별 매출액 조회

SELECT SUBSTR(A.ORDERDATE, 1, 4) 'YEAR',
SUM(PRICEEACH*QUANTITYORDERED) AS SALES
FROM ORDERS A
LEFT JOIN ORDERDETAILS B 
ON A.ORDERNUMBER = B.ORDERNUMBER
GROUP BY 1
ORDER BY 1;



구매자 수, 구매 건수 (일자/월/연도별)

구매 고객 번호 = CUSTOMERNUMBER
판매일 ORDERDATE를 그룹핑 + 고객 번호CUSTOMERNUMBER COUNT
※ 구매자 수, 구매 건수를 산출할 때는 보통 UNIQUE하게 필트를 COUNT 해주어야 한다.

고객 번호주문 번호판매일
SYN0012022.08.14
SYN0022022.08.14

SY 고객이 2022.08.14 에 2건을 구매한다면, ORDERS 테이블에 SY 고객의 2가지 구매 건이 기록
→ 만약 고객 번호를 UNIQUE하게 COUNT 하지 않는다면,
SY 고객은 2022.08.14구매자 수가 2번 COUNT 되는 상황이 발생

SELECT ORDERDATE, CUSTOMERNUMBER, ORDERNUMBER
FROM ORDERS;
SELECT ORDERDATE, CUSTOMERNUMBER, ORDERNUMBER
FROM ORDERS
ORDER BY CUSTOMERNUMBER ;

CUSTOMERNUMBER에서 동일한 고객 번호가 여러 줄 생성되어 있음을 확인
: 한 명의 고객이 여러 번 구매하는 경우

따라서, 고객 번호는 중복을 제외한 값을 COUNT 해야 함

DISTINCT 사용

SELECT ORDERDATE, COUNT(DISTINCT CUSTOMERNUMBER) N_PURCHASER, COUNT(ORDERNUMBER) N_ORDERS
FROM ORDERS
GROUP BY 1
ORDER BY 1;

월별

SELECT SUBSTR(ORDERDATE, 1, 7) 'YYYY-MM',COUNT(DISTINCT CUSTOMERNUMBER) N_PURCHASER, COUNT(ORDERNUMBER) N_ORDERS
FROM ORDERS
GROUP BY 1
ORDER BY 1;

연도별

SELECT SUBSTR(ORDERDATE, 1, 4) 'YEAR', COUNT(DISTINCT CUSTOMERNUMBER) N_PURCHASER, COUNT(ORDERNUMBER) N_ORDERS
FROM ORDERS
GROUP BY 1
ORDER BY 1;



인당 매출액 (연도별)

고객의 인당 매출액 = 고객의 Loyalty를 측정하는 요인으로 사용될 수 있음
기간별 평균 인당 고객 매출액을 비교하면 고객 1명이 서비스에 얼마를 지불하는지 변화를 파악할 수 있음

연도별 인당 매출액 = 연도별 매출액 / 구매자 수

SELECT
FROM
LEFT JOIN
ON 
GROUP BY
ORDER BY ; 

0개의 댓글