My Space

반응형

SUM, COUNT 등으로 통계를 산출할때 CASE WHEN 을 활용하여 쉽게 산출할 수 있다.

 

ex) 월별로 포인트 적립 카운트, 사용 카운트, 누적 적립 금액, 누적 사용 금액 산출

SELECT DATE_FORMAT(P.REG_TSP, '%Y.%m') AS DT
       ,COUNT(CASE WHEN P.TYPE = 'ACC' THEN 1 END) AS ACC_CNT
       ,COUNT(CASE WHEN P.TYPE = 'USE' THEN 1 END) AS USE_CNT 
       ,SUM(CASE WHEN P.TYPE = 'ACC' THEN P.VALUE END) AS ACC_SUM
       ,SUM(CASE WHEN P.TYPE = 'USE' THEN P.VALUE END) AS USE_SUM
       FROM POINT P
    WHERE P.STATE = 1
    GROUP BY DT;

 

'Development > DB' 카테고리의 다른 글

INDEX(MySQL)  (0) 2023.01.29
MySQL auto_increment 값 변경  (0) 2022.01.11
EXISTS, NOT EXISTS 사용  (0) 2021.11.22
[MyBatis] MySQL의 DUPLICATE  (0) 2021.10.27
오라클 Keep 함수  (0) 2021.07.11

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading