diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml
index 1465ee8ae..b368a8158 100644
--- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml
+++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml
@@ -235,35 +235,18 @@
SELECT
epgr.GRID_ID gridId,
COUNT( DISTINCT epgr.ID ) communityCount,
- (
- SELECT
- count(DISTINCT user_id)
+ COUNT( DISTINCT ug.user_id ) communityMemberCount,
+ COUNT( DISTINCT ut.ID ) communityTopicCount
FROM
- esua_epdc_group.epdc_user_group
- WHERE
- DEL_FLAG = '0'
+ esua_epdc_group.epdc_group epgr
+ LEFT JOIN esua_epdc_group.epdc_user_group ug ON epgr.id = ug.group_id AND ug.DEL_FLAG = '0'
- AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
+ AND DATE_FORMAT(ug.CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
- AND epgr.id = group_id
-
- ) AS communityMemberCount,
- (
- SELECT
- count(1)
- FROM
- esua_epdc_group.epdc_topic
- WHERE
- DEL_FLAG = '0'
+ LEFT JOIN esua_epdc_group.epdc_topic ut ON epgr.id = ut.group_id AND ut.DEL_FLAG = '0'
- AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
+ AND DATE_FORMAT(ut.CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
- AND epgr.id = group_id
-
- ) AS communityTopicCount
-
- FROM
- esua_epdc_group.epdc_group epgr
WHERE
epgr.DEL_FLAG = '0' AND ( epgr.STATE = '10' OR epgr.STATE = '15' )