Browse Source

首页数据 优化sql

zhaoxian 2 years ago
parent
commit
fd349f4367

+ 15 - 24
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/xml/BytedanceAccountReportDailyDwMapper.xml

@@ -116,7 +116,7 @@
         '-' AS 'jlAd',
         '-' AS 'kpAd',
         IFNULL(t9.accountNum,0) as 'accountNum',
-        IFNULL(t10.operaterNum,0) as 'operaterNum'
+        IFNULL(t9.operaterNum,0) as 'operaterNum'
         FROM application.bytedance_advertiser_report_hourly_dw t1
         LEFT JOIN `jeecg-boot`.ctop_product t2 ON t2.id = t1.product_id
         LEFT JOIN `jeecg-boot`.ctop_project t3 ON t1.project_id = t3.id
@@ -153,19 +153,14 @@
         GROUP BY project_id
         ) t8 ON t1.project_id = t8.project_id
         LEFT JOIN(
-        SELECT project_id,count(1) as 'accountNum' FROM `jeecg-boot`.ctop_user_allocation WHERE account_status=0
-        AND media_id = 1
+        SELECT project_id,count(account_id)as 'accountNum',count(DISTINCT user_id)as 'operaterNum' FROM (
+        SELECT project_id,account_id,user_id FROM application.bytedance_advertiser_report_daily_dw
+        WHERE stat_datetime =DATE_FORMAT(DATE_SUB(#{startTime}, INTERVAL 1 DAY ), '%Y%m%d')
+        GROUP BY project_id,account_id
+        HAVING sum(cost) > 0
+        )t
         GROUP BY project_id
         ) t9 ON t1.project_id = t9.project_id
-        LEFT JOIN(
-        SELECT project_id,count(1) as 'operaterNum' FROM
-        (
-        SELECT project_id,user_id FROM `jeecg-boot`.ctop_user_allocation WHERE account_status=0
-        AND media_id =1
-        GROUP BY project_id,user_id
-        )tt
-        GROUP BY project_id
-        ) t10 ON t1.project_id = t10.project_id
         WHERE stat_datetime = #{startTime}
         AND t1.company_id in ('5e46b5dea3d740eeb8ff1a2895015a4b' , 'd57fecdcf7a94d009736d9c850731582')
         <if test="projectId != null and projectId != ''">
@@ -217,7 +212,7 @@
         '-' AS 'jlAd',
         '-' AS 'kpAd',
         IFNULL(t9.accountNum,0) as 'accountNum',
-        IFNULL(t10.operaterNum,0) as 'operaterNum'
+        IFNULL(t9.operaterNum,0) as 'operaterNum'
         FROM application.bytedance_advertiser_report_daily_dw t1
         LEFT JOIN `jeecg-boot`.ctop_product t2 ON t2.id = t1.product_id
         LEFT JOIN `jeecg-boot`.ctop_project t3 ON t1.project_id = t3.id
@@ -243,19 +238,15 @@
         GROUP BY project_id
         ) t8 ON t1.project_id = t8.project_id
         LEFT JOIN(
-        SELECT project_id,count(1) as 'accountNum' FROM `jeecg-boot`.ctop_user_allocation WHERE account_status=0
-        AND media_id = 1
+            SELECT project_id,count(account_id)as 'accountNum',count(DISTINCT user_id)as 'operaterNum' FROM (
+        SELECT project_id,account_id,user_id FROM application.bytedance_advertiser_report_daily_dw
+        WHERE stat_datetime >= #{startTime}
+        AND stat_datetime &lt;= #{endTime}
+        GROUP BY project_id,account_id
+        HAVING sum(cost) > 0
+        )t
         GROUP BY project_id
         ) t9 ON t1.project_id = t9.project_id
-        LEFT JOIN(
-        SELECT project_id,count(1) as 'operaterNum' FROM
-        (
-        SELECT project_id,user_id FROM `jeecg-boot`.ctop_user_allocation WHERE account_status=0
-        AND media_id =1
-        GROUP BY project_id,user_id
-        )tt
-        GROUP BY project_id
-        ) t10 ON t1.project_id = t10.project_id
         WHERE stat_datetime >= #{startTime}
         AND stat_datetime &lt;= #{endTime}
         AND t1.company_id in ('5e46b5dea3d740eeb8ff1a2895015a4b' , 'd57fecdcf7a94d009736d9c850731582')

+ 15 - 24
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/xml/KuaishouAccountReportDailyDwMapper.xml

@@ -118,7 +118,7 @@
         '-' AS 'jlAd',
         '-' AS 'kpAd',
         IFNULL(t9.accountNum,0) as 'accountNum',
-        IFNULL(t10.operaterNum,0) as 'operaterNum',
+        IFNULL(t9.operaterNum,0) as 'operaterNum',
         IFNULL(t11.new_unit_num,0) as 'newUnitNum',
         IFNULL(t11.new_trush_unit_num,0) as 'newTrushUnitNum',
         IFNULL(t12.new_unit_num,0) as 'yesterdayUnitNum',
@@ -154,19 +154,14 @@
         </if>
         ) t7 ON t1.project_id = t7.project_id
         LEFT JOIN(
-        SELECT project_id,count(1) as 'accountNum' FROM `jeecg-boot`.ctop_user_allocation WHERE account_status=0
-        AND media_id =2
+        SELECT project_id,count(account_id)as 'accountNum',count(DISTINCT user_id)as 'operaterNum' FROM (
+        SELECT project_id,account_id,user_id FROM application.kuaishou_account_report_daily_dw
+        WHERE stat_date = #{startTime}
+        GROUP BY project_id,account_id
+        HAVING sum(charge) > 0
+        )t
         GROUP BY project_id
         ) t9 ON t1.project_id = t9.project_id
-        LEFT JOIN(
-        SELECT project_id,count(1) as 'operaterNum' FROM
-        (
-        SELECT project_id,user_id FROM `jeecg-boot`.ctop_user_allocation WHERE account_status=0
-        AND media_id =2
-        GROUP BY project_id,user_id
-        )tt
-        GROUP BY project_id
-        ) t10 ON t1.project_id = t10.project_id
         LEFT JOIN (
         SELECT project_id, SUM(new_unit_num) as 'new_unit_num',SUM(new_trush_unit_num) as 'new_trush_unit_num'
         FROM application.app_kuaishou_account_today_base_info_d
@@ -239,7 +234,7 @@
         IFNULL(t6.num,0) as 'num',
         '-' as 'rio',
         IFNULL(t9.accountNum,0) as 'accountNum',
-        IFNULL(t10.operaterNum,0) as 'operaterNum',
+        IFNULL(t9.operaterNum,0) as 'operaterNum',
         IFNULL(t11.new_unit_num,0) as 'unitNum',
         IFNULL(t11.new_trush_unit_num,0) as 'trushUnitNum',
         IFNULL(t13.material_upload_media_num,0) as 'materialUploadMediaNum'
@@ -261,19 +256,15 @@
         </if>
         ) t6 ON t1.project_id = t6.project_id
         LEFT JOIN(
-        SELECT project_id,count(1) as 'accountNum' FROM `jeecg-boot`.ctop_user_allocation WHERE account_status=0
-        AND media_id =2
+        SELECT project_id,count(account_id)as 'accountNum',count(DISTINCT user_id)as 'operaterNum' FROM (
+        SELECT project_id,account_id,user_id FROM application.kuaishou_account_report_daily_dw
+        WHERE stat_date >= #{startTime}
+        AND stat_date &lt;= #{endTime}
+        GROUP BY project_id,account_id
+        HAVING sum(charge) > 0
+        )t
         GROUP BY project_id
         ) t9 ON t1.project_id = t9.project_id
-        LEFT JOIN(
-        SELECT project_id,count(1) as 'operaterNum' FROM
-        (
-        SELECT project_id,user_id FROM `jeecg-boot`.ctop_user_allocation WHERE account_status=0
-        AND media_id =2
-        GROUP BY project_id,user_id
-        )tt
-        GROUP BY project_id
-        ) t10 ON t1.project_id = t10.project_id
         LEFT JOIN (
         SELECT project_id, SUM(new_unit_num) as 'new_unit_num',SUM(new_trush_unit_num) as 'new_trush_unit_num'
         FROM application.app_kuaishou_account_today_base_info_d