[MySQL] SUBSTR함수를 이용한 일별/월별/연도별 판매액 산출

김예은·2023년 12월 20일
post-thumbnail

1. 문제 상황

일자별/월별/연도별 판매액 데이터를 확인해야하는 상황

2. 해결 방법: SUBSTR함수를 이용하여 일별/월별/연도별 판매액 데이터 확인

1) 일별 판매액 확인

  • 코드
-- 일별 판매액 산출
SELECT * from olist_sales;
-- 날짜 가공 
SELECT SUBSTR(order_purchase_timestamp,1,10) AS day, round(sum(payment_value)) AS sales
from olist_sales
GROUP BY day
ORDER BY day desc
INTO OUTFILE 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\olist_sales_daily.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
;
  • 결과

2) 월별 판매액 확인

  • 코드
-- 월별 판매액 산출
SELECT * from olist_sales;
-- 날짜 가공 
SELECT SUBSTR(order_purchase_timestamp,1,7) AS month, round(sum(payment_value)) AS sales
from olist_sales
GROUP BY month
ORDER BY month desc
;
  • 결과

3) 연도별 판매액 확인

  • 코드
-- 연도별 판매액 산출
SELECT * from olist_sales;
-- 날짜 가공 
SELECT SUBSTR(order_purchase_timestamp,1,4) AS year, round(sum(payment_value)) AS sales
from olist_sales
GROUP BY year
ORDER BY year desc
;
  • 결과

4) 요일별 판매액 확인

  • 코드
-- 요일별 판매액 산출
SELECT DAYNAME(order_purchase_timestamp) AS dayName, round(SUM(payment_value)) AS sales
FROM olist_sales
GROUP BY dayName
ORDER BY 
     CASE
          WHEN dayName = 'Monday' THEN 1
          WHEN dayName = 'Tuesday' THEN 2
          WHEN dayName = 'Wednesday' THEN 3
          WHEN dayName = 'Thursday' THEN 4
          WHEN dayName = 'Friday' THEN 5
          WHEN dayName = 'Saturday' THEN 6
          WHEN dayName = 'Sunday' THEN 7
     END ASC
;
  • 결과

3. 결과

SUBSTR함수를 활용하여 일별/월별/연도별 판매액을 각각 확인할 수 있었다.

profile
경계를 두지 않습니다.

0개의 댓글