|
|
@@ -5,8 +5,23 @@
|
|
|
<!-- 사이트 제휴코드 유입집계 -->
|
|
|
<insert id="createInflowDaily" parameterType="String">
|
|
|
/* TsbStatistics.createInflowDaily */
|
|
|
- MERGE INTO TB_INFLOW_DAILY A
|
|
|
- USING (
|
|
|
+ INSERT INTO TB_INFLOW_DAILY (
|
|
|
+ INFLOW_YMD
|
|
|
+ , SITE_CD
|
|
|
+ , AF_LINK_CD
|
|
|
+ , PC_INFLOW_TCNT
|
|
|
+ , MOB_INFLOW_TCNT
|
|
|
+ , AOS_INFLOW_TCNT
|
|
|
+ , IOS_INFLOW_TCNT
|
|
|
+ , PC_INFLOW_CNT
|
|
|
+ , MOB_INFLOW_CNT
|
|
|
+ , AOS_INFLOW_CNT
|
|
|
+ , IOS_INFLOW_CNT
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ )
|
|
|
+ (
|
|
|
+ SELECT * FROM (
|
|
|
SELECT INFLOW_YMD
|
|
|
, SITE_CD
|
|
|
, AF_LINK_CD
|
|
|
@@ -18,10 +33,10 @@
|
|
|
, SUM(CASE WHEN FRONT_GB = 'M' AND APP_YN = 'N' THEN INFLOW_CNT ELSE 0 END) AS MOB_INFLOW_CNT
|
|
|
, SUM(CASE WHEN FRONT_GB = 'M' AND APP_YN = 'Y' AND OS_TYPE = 'A' THEN INFLOW_CNT ELSE 0 END) AS AOS_INFLOW_CNT
|
|
|
, SUM(CASE WHEN FRONT_GB = 'M' AND APP_YN = 'Y' AND OS_TYPE = 'I' THEN INFLOW_CNT ELSE 0 END) AS IOS_INFLOW_CNT
|
|
|
- , 'batch' AS REG_ID
|
|
|
- , SYSDATE AS REG_DT
|
|
|
+ , 0 AS REG_NO
|
|
|
+ , NOW() AS REG_DT
|
|
|
FROM (
|
|
|
- SELECT TO_CHAR(INFLOW_DT,'YYYYMMDD') AS INFLOW_YMD
|
|
|
+ SELECT DATE_FORMAT(INFLOW_DT,'%Y%m%d') AS INFLOW_YMD
|
|
|
, SITE_CD
|
|
|
, AF_LINK_CD
|
|
|
, FRONT_GB
|
|
|
@@ -30,68 +45,35 @@
|
|
|
, COUNT(DISTINCT JSESSION_ID) AS INFLOW_TCNT
|
|
|
, COUNT(DISTINCT IP_ADDR) AS INFLOW_CNT
|
|
|
FROM TB_INFLOW_HST
|
|
|
- <where>
|
|
|
- <if test="inflowDt == 'today'">
|
|
|
- INFLOW_DT BETWEEN TRUNC(SYSDATE) AND TRUNC(SYSDATE) + 0.99999 --당일자
|
|
|
- </if>
|
|
|
- <if test="inflowDt == 'yesterday'">
|
|
|
- INFLOW_DT BETWEEN TRUNC(SYSDATE-1) AND TRUNC(SYSDATE-1) + 0.99999 --당일자
|
|
|
- </if>
|
|
|
- </where>
|
|
|
- GROUP BY TO_CHAR(INFLOW_DT,'YYYYMMDD'), AF_LINK_CD, SITE_CD, FRONT_GB, APP_YN, OS_TYPE
|
|
|
- )
|
|
|
+ WHERE 1 = 1
|
|
|
+ <if test="inflowDt == 'today'">
|
|
|
+ AND INFLOW_DT >= DATE_FORMAT(DATE_FORMAT(NOW(), '%Y%m%d'), '%Y%m%d%H%i%S')
|
|
|
+ <![CDATA[
|
|
|
+ AND INFLOW_DT < DATE_FORMAT(DATE_ADD(DATE_FORMAT(NOW(), '%Y%m%d'), INTERVAL 1 DAY), '%Y%m%d%H%i%S')
|
|
|
+ ]]>
|
|
|
+ </if>
|
|
|
+ <if test="inflowDt == 'yesterday'">
|
|
|
+ AND INFLOW_DT >= DATE_FORMAT(DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -1 DAY), '%Y%m%d'), '%Y%m%d%H%i%S')
|
|
|
+ <![CDATA[
|
|
|
+ AND INFLOW_DT < DATE_FORMAT(DATE_ADD(DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -1 DAY), '%Y%m%d'), INTERVAL 1 DAY), '%Y%m%d%H%i%S')
|
|
|
+ ]]>
|
|
|
+ </if>
|
|
|
+ GROUP BY DATE_FORMAT(INFLOW_DT,'%Y%m%d'), AF_LINK_CD, SITE_CD, FRONT_GB, APP_YN, OS_TYPE
|
|
|
+ ) Z
|
|
|
GROUP BY INFLOW_YMD, AF_LINK_CD, SITE_CD
|
|
|
- ) B
|
|
|
- ON (
|
|
|
- A.INFLOW_YMD = B.INFLOW_YMD
|
|
|
- AND
|
|
|
- A.SITE_CD = B.SITE_CD
|
|
|
- AND
|
|
|
- A.AF_LINK_CD = B.AF_LINK_CD
|
|
|
- )
|
|
|
- WHEN MATCHED THEN
|
|
|
- UPDATE
|
|
|
- SET A.PC_INFLOW_TCNT = B.PC_INFLOW_TCNT
|
|
|
- , A.MOB_INFLOW_TCNT = B.MOB_INFLOW_TCNT
|
|
|
- , A.AOS_INFLOW_TCNT = B.AOS_INFLOW_TCNT
|
|
|
- , A.IOS_INFLOW_TCNT = B.IOS_INFLOW_TCNT
|
|
|
- , A.PC_INFLOW_CNT = B.PC_INFLOW_CNT
|
|
|
- , A.MOB_INFLOW_CNT = B.MOB_INFLOW_CNT
|
|
|
- , A.AOS_INFLOW_CNT = B.AOS_INFLOW_CNT
|
|
|
- , A.IOS_INFLOW_CNT = B.IOS_INFLOW_CNT
|
|
|
- , REG_ID = B.REG_ID
|
|
|
- , REG_DT = B.REG_DT
|
|
|
- WHEN NOT MATCHED THEN
|
|
|
- INSERT (
|
|
|
- INFLOW_YMD
|
|
|
- , SITE_CD
|
|
|
- , AF_LINK_CD
|
|
|
- , PC_INFLOW_TCNT
|
|
|
- , MOB_INFLOW_TCNT
|
|
|
- , AOS_INFLOW_TCNT
|
|
|
- , IOS_INFLOW_TCNT
|
|
|
- , PC_INFLOW_CNT
|
|
|
- , MOB_INFLOW_CNT
|
|
|
- , AOS_INFLOW_CNT
|
|
|
- , IOS_INFLOW_CNT
|
|
|
- , REG_ID
|
|
|
- , REG_DT
|
|
|
- )
|
|
|
- VALUES (
|
|
|
- B.INFLOW_YMD
|
|
|
- , B.SITE_CD
|
|
|
- , B.AF_LINK_CD
|
|
|
- , B.PC_INFLOW_TCNT
|
|
|
- , B.MOB_INFLOW_TCNT
|
|
|
- , B.AOS_INFLOW_TCNT
|
|
|
- , B.IOS_INFLOW_TCNT
|
|
|
- , B.PC_INFLOW_CNT
|
|
|
- , B.MOB_INFLOW_CNT
|
|
|
- , B.AOS_INFLOW_CNT
|
|
|
- , B.IOS_INFLOW_CNT
|
|
|
- , B.REG_ID
|
|
|
- , B.REG_DT
|
|
|
- )
|
|
|
+ ) B
|
|
|
+ )
|
|
|
+ ON DUPLICATE KEY UPDATE
|
|
|
+ PC_INFLOW_TCNT = B.PC_INFLOW_TCNT
|
|
|
+ , MOB_INFLOW_TCNT = B.MOB_INFLOW_TCNT
|
|
|
+ , AOS_INFLOW_TCNT = B.AOS_INFLOW_TCNT
|
|
|
+ , IOS_INFLOW_TCNT = B.IOS_INFLOW_TCNT
|
|
|
+ , PC_INFLOW_CNT = B.PC_INFLOW_CNT
|
|
|
+ , MOB_INFLOW_CNT = B.MOB_INFLOW_CNT
|
|
|
+ , AOS_INFLOW_CNT = B.AOS_INFLOW_CNT
|
|
|
+ , IOS_INFLOW_CNT = B.IOS_INFLOW_CNT
|
|
|
+ , REG_NO = B.REG_NO
|
|
|
+ , REG_DT = B.REG_DT
|
|
|
</insert>
|
|
|
|
|
|
</mapper>
|