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;
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 |