작년, 올해 월별 통계구하기 1 1 2,117

by 호야별리 [MySQL] [2023.05.26 12:56:42]


stats.png (22,967Bytes)

안녕하세요.

 

매출관련 통계 데이터를 추출하는 프로그램 진행하고 있습니다.

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월까지 올해 통계를 구할수는 있는데요

작년의 월별 통계를 내려고 하면 어떻게 구성을 해야될지 막막해서 글올립니다.

서브쿼리 형태로 구성해서 작업을 해야되는것인지 아니면 다른방법이 있는것인지... 조언좀 구하고자 합니다.

by 마농 [2023.05.30 02:37:44]
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
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입