Development/DB
집계함수 안에서 조건 부여
루루지
2022. 8. 31. 12:17
반응형
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;