diff --git a/src/main/java/com/baiyee/adcallback/service/impl/DmpMonitorNumServiceImpl.java b/src/main/java/com/baiyee/adcallback/service/impl/DmpMonitorNumServiceImpl.java index 9ea129f..32a125a 100644 --- a/src/main/java/com/baiyee/adcallback/service/impl/DmpMonitorNumServiceImpl.java +++ b/src/main/java/com/baiyee/adcallback/service/impl/DmpMonitorNumServiceImpl.java @@ -173,20 +173,22 @@ public class DmpMonitorNumServiceImpl implements DmpMonitorNumService { private String getSqlString(String tableName, Integer flag) { StringBuilder sql = new StringBuilder(); if (1 == flag) { - sql.append(" select a.tag,a.date as date ,COUNT(*) as num FROM ( SELECT DISTINCT(tb.imei),tb.tag ,DATE_FORMAT( tb.gmt_create, '%Y-%m-%d' ) AS date FROM ").append(tableName).append(" as tb where "); + sql.append(" select a.tag,a.date as date ,COUNT(*) as num FROM ( SELECT tb.imei,tb.tag ,substring_index(group_concat(DATE_FORMAT( tb.gmt_create, '%Y-%m-%d' )),',',-1) AS date FROM ").append(tableName).append(" as tb where "); sql.append(" tb.imei != :imei1 "); sql.append(" and tb.imei != :imei2 "); sql.append(" and tb.gmt_create >= :startDate "); sql.append(" and tb.gmt_create < :endDate "); sql.append(" and tb.tag in :tag "); + sql.append(" group by imei,tag"); sql.append(" ) a group by a.tag,a.date"); } else { - sql.append("select DISTINCT DATE_FORMAT( tb.gmt_create, '%Y-%m-%d' ) as date ,tb.imei as imei ,tb.tag as tag from ").append(tableName).append(" as tb where"); + sql.append("select substring_index(group_concat( DATE_FORMAT( tb.gmt_create, '%Y-%m-%d' )),',',-1) as date ,tb.imei as imei ,tb.tag as tag from ").append(tableName).append(" as tb where"); sql.append(" tb.imei != :imei1 "); sql.append(" and tb.imei != :imei2 "); sql.append(" and tb.gmt_create >= :startDate "); sql.append(" and tb.gmt_create < :endDate "); sql.append(" and tb.tag in :tag "); + sql.append(" group by tb.imei,tb.tag"); } return sql.toString(); }