안녕하세요.
매출관련 통계 데이터를 추출하는 프로그램 진행하고 있습니다.
select sum(price_sum) as price_sum
from order_table
where DATE_FORMAT(order_date, '%Y-%m-%d') >= '2023-12-01'
and DATE_FORMAT(order_date, '%Y-%m-%d') <= '2023-12-31'
기본적인 형태로 1월~12월까지 올해 통계를 구할수는 있는데요
작년의 월별 통계를 내려고 하면 어떻게 구성을 해야될지 막막해서 글올립니다.
서브쿼리 형태로 구성해서 작업을 해야되는것인지 아니면 다른방법이 있는것인지... 조언좀 구하고자 합니다.
SELECT m
, "2022"
, "2023"
, "2023" - "2022" 증감액
, ROUND(("2023" - "2022") / "2022" * 100, 2) 증감률
FROM (SELECT m
, SUM(CASE y WHEN '2022' THEN price_sum END) "2022"
, SUM(CASE y WHEN '2023' THEN price_sum END) "2023"
FROM (SELECT DATE_FORMAT(order_date, '%Y') y
, DATE_FORMAT(order_date, '%m') m
, price_sum
FROM order_table
WHERE order_date >= STR_TO_DATE('2022-01-01', '%Y-%m-%d')
AND order_date < STR_TO_DATE('2024-01-01', '%Y-%m-%d')
) a
GROUP BY m
) a
;