diff --git a/src/main/resources/mapper/mysql/stats/stats-mapper.xml b/src/main/resources/mapper/mysql/stats/stats-mapper.xml index 1fc43be..19788e0 100644 --- a/src/main/resources/mapper/mysql/stats/stats-mapper.xml +++ b/src/main/resources/mapper/mysql/stats/stats-mapper.xml @@ -5,317 +5,499 @@ - - + select '전체' AS sumYm + , sum(T_SND_CNT) AS sndCnt + , sum(T_SUCC_CNT) AS succCnt + , sum(T_SUCC_RT) AS succRt + , sum(S_SND_CNT) AS sndCntS + , sum(S_SUCC_CNT) AS succCntS + , sum(S_SUCC_RT) AS succRtS + , sum(L_SND_CNT) AS sndCntL + , sum(L_SUCC_CNT) AS succCntL + , sum(L_SUCC_RT) AS succRtL + , sum(M_SND_CNT) AS sndCntM + , sum(M_SUCC_CNT) AS succCntM + , sum(M_SUCC_RT) AS succRtM + , sum(A_SND_CNT) AS sndCntR + , sum(A_SUCC_CNT) AS succCntR + , sum(A_SUCC_RT) AS succRtR + from ( + SELECT SUM(IFNULL(SND_CNT,0)) AS T_SND_CNT + ,SUM(IFNULL(SUCC_CNT,0)) AS T_SUCC_CNT + ,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS T_SUCC_RT + , 0 as S_SND_CNT + , 0 as S_SUCC_CNT + , 0 as S_SUCC_RT + , 0 as L_SND_CNT + , 0 as L_SUCC_CNT + , 0 as L_SUCC_RT + , 0 as M_SND_CNT + , 0 as M_SUCC_CNT + , 0 as M_SUCC_RT + , 0 as A_SND_CNT + , 0 as A_SUCC_CNT + , 0 as A_SUCC_RT + FROM hubez_common.EZ_MON_STAT + WHERE 1=1 + AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d') + union all + SELECT 0 as T_SND_CNT + , 0 as T_SUCC_CNT + , 0 as T_SUCC_RT + , SUM(IFNULL(SND_CNT,0)) AS S_SND_CNT + , SUM(IFNULL(SUCC_CNT,0)) AS S_SUCC_CNT + , ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS S_SUCC_RT + , 0 as L_SND_CNT + , 0 as L_SUCC_CNT + , 0 as L_SUCC_RT + , 0 as M_SND_CNT + , 0 as M_SUCC_CNT + , 0 as M_SUCC_RT + , 0 as A_SND_CNT + , 0 as A_SUCC_CNT + , 0 as A_SUCC_RT + FROM hubez_common.EZ_MON_STAT + WHERE 1=1 + AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d') + AND SND_CH_CD = 'SMS' + union all + SELECT 0 as T_SND_CNT + , 0 as T_SUCC_CNT + , 0 as T_SUCC_RT + , 0 as S_SND_CNT + , 0 as S_SUCC_CNT + , 0 as S_SUCC_RT + , SUM(IFNULL(SND_CNT,0)) AS L_SND_CNT + , SUM(IFNULL(SUCC_CNT,0)) AS L_SUCC_CNT + , ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS L_SUCC_RT + , 0 as M_SND_CNT + , 0 as M_SUCC_CNT + , 0 as M_SUCC_RT + , 0 as A_SND_CNT + , 0 as A_SUCC_CNT + , 0 as A_SUCC_RT + FROM hubez_common.EZ_MON_STAT + WHERE 1=1 + AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d') + AND SND_CH_CD = 'LMS' + union all + SELECT 0 as T_SND_CNT + , 0 as T_SUCC_CNT + , 0 as T_SUCC_RT + , 0 as S_SND_CNT + , 0 as S_SUCC_CNT + , 0 as S_SUCC_RT + , 0 as L_SND_CNT + , 0 as L_SUCC_CNT + , 0 as L_SUCC_RT + , SUM(IFNULL(SND_CNT,0)) AS M_SND_CNT + , SUM(IFNULL(SUCC_CNT,0)) AS M_SUCC_CNT + , ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS M_SUCC_RT + , 0 as A_SND_CNT + , 0 as A_SUCC_CNT + , 0 as A_SUCC_RT + FROM hubez_common.EZ_MON_STAT + WHERE 1=1 + AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d') + AND SND_CH_CD = 'MMS' + union all + SELECT 0 as T_SND_CNT + , 0 as T_SUCC_CNT + , 0 as T_SUCC_RT + , 0 as S_SND_CNT + , 0 as S_SUCC_CNT + , 0 as S_SUCC_RT + , 0 as L_SND_CNT + , 0 as L_SUCC_CNT + , 0 as L_SUCC_RT + , 0 as M_SND_CNT + , 0 as M_SUCC_CNT + , 0 as M_SUCC_RT + , SUM(IFNULL(SND_CNT,0)) AS A_SND_CNT + , SUM(IFNULL(SUCC_CNT,0)) AS A_SUCC_CNT + , ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS A_SUCC_RT + FROM hubez_common.EZ_MON_STAT + WHERE 1=1 + AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d') + AND SND_CH_CD = 'ALIMTALK' + ) T + UNION ALL + select DATE_FORMAT(SUM_YM, '%Y-%m-%d') AS sumYm + , sum(T_SND_CNT) AS sndCnt + , sum(T_SUCC_CNT) AS succCnt + , sum(T_SUCC_RT) AS succRt + , sum(S_SND_CNT) AS sndCntS + , sum(S_SUCC_CNT) AS succCntS + , sum(S_SUCC_RT) AS succRtS + , sum(L_SND_CNT) AS sndCntL + , sum(L_SUCC_CNT) AS succCntL + , sum(L_SUCC_RT) AS succRtL + , sum(M_SND_CNT) AS sndCntM + , sum(M_SUCC_CNT) AS succCntM + , sum(M_SUCC_RT) AS succRtM + , sum(A_SND_CNT) AS sndCntR + , sum(A_SUCC_CNT) AS succCntR + , sum(A_SUCC_RT) AS succRtR + from ( + SELECT SUM_YM + , SUM(IFNULL(SND_CNT,0)) AS T_SND_CNT + ,SUM(IFNULL(SUCC_CNT,0)) AS T_SUCC_CNT + ,ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS T_SUCC_RT + , 0 as S_SND_CNT + , 0 as S_SUCC_CNT + , 0 as S_SUCC_RT + , 0 as L_SND_CNT + , 0 as L_SUCC_CNT + , 0 as L_SUCC_RT + , 0 as M_SND_CNT + , 0 as M_SUCC_CNT + , 0 as M_SUCC_RT + , 0 as A_SND_CNT + , 0 as A_SUCC_CNT + , 0 as A_SUCC_RT + FROM hubez_common.EZ_MON_STAT + WHERE 1=1 + AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d') + GROUP BY SUM_YM + union all + SELECT SUM_YM + , 0 as T_SND_CNT + , 0 as T_SUCC_CNT + , 0 as T_SUCC_RT + , SUM(IFNULL(SND_CNT,0)) AS S_SND_CNT + , SUM(IFNULL(SUCC_CNT,0)) AS S_SUCC_CNT + , ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS S_SUCC_RT + , 0 as L_SND_CNT + , 0 as L_SUCC_CNT + , 0 as L_SUCC_RT + , 0 as M_SND_CNT + , 0 as M_SUCC_CNT + , 0 as M_SUCC_RT + , 0 as A_SND_CNT + , 0 as A_SUCC_CNT + , 0 as A_SUCC_RT + FROM hubez_common.EZ_MON_STAT + WHERE 1=1 + AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d') + AND SND_CH_CD = 'SMS' + GROUP BY SUM_YM + union all + SELECT SUM_YM + , 0 as T_SND_CNT + , 0 as T_SUCC_CNT + , 0 as T_SUCC_RT + , 0 as S_SND_CNT + , 0 as S_SUCC_CNT + , 0 as S_SUCC_RT + , SUM(IFNULL(SND_CNT,0)) AS L_SND_CNT + , SUM(IFNULL(SUCC_CNT,0)) AS L_SUCC_CNT + , ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS L_SUCC_RT + , 0 as M_SND_CNT + , 0 as M_SUCC_CNT + , 0 as M_SUCC_RT + , 0 as A_SND_CNT + , 0 as A_SUCC_CNT + , 0 as A_SUCC_RT + FROM hubez_common.EZ_MON_STAT + WHERE 1=1 + AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d') + AND SND_CH_CD = 'LMS' + GROUP BY SUM_YM + union all + SELECT SUM_YM + , 0 as T_SND_CNT + , 0 as T_SUCC_CNT + , 0 as T_SUCC_RT + , 0 as S_SND_CNT + , 0 as S_SUCC_CNT + , 0 as S_SUCC_RT + , 0 as L_SND_CNT + , 0 as L_SUCC_CNT + , 0 as L_SUCC_RT + , SUM(IFNULL(SND_CNT,0)) AS M_SND_CNT + , SUM(IFNULL(SUCC_CNT,0)) AS M_SUCC_CNT + , ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS M_SUCC_RT + , 0 as A_SND_CNT + , 0 as A_SUCC_CNT + , 0 as A_SUCC_RT + FROM hubez_common.EZ_MON_STAT + WHERE 1=1 + AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d') + AND SND_CH_CD = 'MMS' + GROUP BY SUM_YM + union all + SELECT SUM_YM + , 0 as T_SND_CNT + , 0 as T_SUCC_CNT + , 0 as T_SUCC_RT + , 0 as S_SND_CNT + , 0 as S_SUCC_CNT + , 0 as S_SUCC_RT + , 0 as L_SND_CNT + , 0 as L_SUCC_CNT + , 0 as L_SUCC_RT + , 0 as M_SND_CNT + , 0 as M_SUCC_CNT + , 0 as M_SUCC_RT + , SUM(IFNULL(SND_CNT,0)) AS A_SND_CNT + , SUM(IFNULL(SUCC_CNT,0)) AS A_SUCC_CNT + , ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS A_SUCC_RT + FROM hubez_common.EZ_MON_STAT + WHERE 1=1 + AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d') + AND SND_CH_CD = 'ALIMTALK' + GROUP BY SUM_YM + ) T GROUP BY SUM_YM order by sumYm desc + + + +