From 0323f18c9acae5c530dabc378796c2e4df0cfe91 Mon Sep 17 00:00:00 2001 From: fengyarnom Date: Thu, 15 May 2025 16:17:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3ONLY=5FFULL=5FGROUP=5F?= =?UTF-8?q?BY=20=E6=A8=A1=E5=BC=8F=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/dao/sensor.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/dao/sensor.go b/internal/dao/sensor.go index 82fbe7d..98bc5d6 100644 --- a/internal/dao/sensor.go +++ b/internal/dao/sensor.go @@ -47,7 +47,7 @@ func (dao *SensorDAO) GetAggregatedData(start, end time.Time, interval string) ( case "5min": query = ` SELECT - DATE_FORMAT(timestamp, '%Y-%m-%d %H:%i:00') as ts, + MIN(timestamp) as ts, ROUND(AVG(temperature)/10, 1) as avg_temp, MAX(rainfall) - MIN(rainfall) as rainfall, ROUND(AVG(humidity)/10, 1) as avg_humidity, @@ -60,7 +60,7 @@ func (dao *SensorDAO) GetAggregatedData(start, end time.Time, interval string) ( case "30min": query = ` SELECT - DATE_FORMAT(timestamp, '%Y-%m-%d %H:%i:00') as ts, + MIN(timestamp) as ts, ROUND(AVG(temperature)/10, 1) as avg_temp, MAX(rainfall) - MIN(rainfall) as rainfall, ROUND(AVG(humidity)/10, 1) as avg_humidity, @@ -73,14 +73,14 @@ func (dao *SensorDAO) GetAggregatedData(start, end time.Time, interval string) ( default: // 1hour query = ` SELECT - DATE_FORMAT(timestamp, '%Y-%m-%d %H:00:00') as ts, + MIN(timestamp) as ts, ROUND(AVG(temperature)/10, 1) as avg_temp, MAX(rainfall) - MIN(rainfall) as rainfall, ROUND(AVG(humidity)/10, 1) as avg_humidity, ROUND(AVG(wind_speed)/10, 1) as avg_wind_speed FROM sensor_data WHERE timestamp BETWEEN ? AND ? - GROUP BY DATE_FORMAT(timestamp, '%Y-%m-%d %H') + GROUP BY FLOOR(UNIX_TIMESTAMP(timestamp)/3600) ORDER BY ts DESC ` }