From 15ccf7dbcf9d632321c1914417db6a6c438dc416 Mon Sep 17 00:00:00 2001 From: wujingtao Date: Fri, 18 Mar 2022 13:49:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=87=8D=E6=97=B6=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adcallback/service/impl/DmpMonitorNumServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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(); }