diff --git a/src/main/java/com/ycwl/basic/clickhouse/service/impl/ClickHouseStatsQueryServiceImpl.java b/src/main/java/com/ycwl/basic/clickhouse/service/impl/ClickHouseStatsQueryServiceImpl.java index 1041d3b3..8a015624 100644 --- a/src/main/java/com/ycwl/basic/clickhouse/service/impl/ClickHouseStatsQueryServiceImpl.java +++ b/src/main/java/com/ycwl/basic/clickhouse/service/impl/ClickHouseStatsQueryServiceImpl.java @@ -357,8 +357,12 @@ public class ClickHouseStatsQueryServiceImpl implements StatsQueryService { sql.append(") "); sql.append("AND r.action = 'LAUNCH' "); sql.append("AND JSONExtractInt(r.params, 'scene') IN (1047, 1048, 1049) "); - sql.append("AND s.create_time BETWEEN ").append(formatDateTime(query.getStartTime())); - sql.append(" AND ").append(formatDateTime(query.getEndTime())).append(" "); + if (query.getStartTime() != null) { + sql.append("AND s.create_time >= ").append(formatDateTime(query.getStartTime())).append(" "); + } + if (query.getEndTime() != null) { + sql.append("AND s.create_time <= ").append(formatDateTime(query.getEndTime())).append(" "); + } sql.append("GROUP BY toStartOfHour(s.create_time) "); sql.append("ORDER BY toStartOfHour(s.create_time)"); @@ -382,8 +386,12 @@ public class ClickHouseStatsQueryServiceImpl implements StatsQueryService { sql.append(") "); sql.append("AND r.action = 'LAUNCH' "); sql.append("AND JSONExtractInt(r.params, 'scene') IN (1047, 1048, 1049) "); - sql.append("AND s.create_time BETWEEN ").append(formatDateTime(query.getStartTime())); - sql.append(" AND ").append(formatDateTime(query.getEndTime())).append(" "); + if (query.getStartTime() != null) { + sql.append("AND s.create_time >= ").append(formatDateTime(query.getStartTime())).append(" "); + } + if (query.getEndTime() != null) { + sql.append("AND s.create_time <= ").append(formatDateTime(query.getEndTime())).append(" "); + } sql.append("GROUP BY toStartOfDay(s.create_time) "); sql.append("ORDER BY toStartOfDay(s.create_time)");