fix: 修正ONLY_FULL_GROUP_BY 模式错误

This commit is contained in:
fengyarnom 2025-05-15 16:17:40 +08:00
parent ebf811f981
commit 0323f18c9a

View File

@ -47,7 +47,7 @@ func (dao *SensorDAO) GetAggregatedData(start, end time.Time, interval string) (
case "5min": case "5min":
query = ` query = `
SELECT SELECT
DATE_FORMAT(timestamp, '%Y-%m-%d %H:%i:00') as ts, MIN(timestamp) as ts,
ROUND(AVG(temperature)/10, 1) as avg_temp, ROUND(AVG(temperature)/10, 1) as avg_temp,
MAX(rainfall) - MIN(rainfall) as rainfall, MAX(rainfall) - MIN(rainfall) as rainfall,
ROUND(AVG(humidity)/10, 1) as avg_humidity, ROUND(AVG(humidity)/10, 1) as avg_humidity,
@ -60,7 +60,7 @@ func (dao *SensorDAO) GetAggregatedData(start, end time.Time, interval string) (
case "30min": case "30min":
query = ` query = `
SELECT SELECT
DATE_FORMAT(timestamp, '%Y-%m-%d %H:%i:00') as ts, MIN(timestamp) as ts,
ROUND(AVG(temperature)/10, 1) as avg_temp, ROUND(AVG(temperature)/10, 1) as avg_temp,
MAX(rainfall) - MIN(rainfall) as rainfall, MAX(rainfall) - MIN(rainfall) as rainfall,
ROUND(AVG(humidity)/10, 1) as avg_humidity, ROUND(AVG(humidity)/10, 1) as avg_humidity,
@ -73,14 +73,14 @@ func (dao *SensorDAO) GetAggregatedData(start, end time.Time, interval string) (
default: // 1hour default: // 1hour
query = ` query = `
SELECT SELECT
DATE_FORMAT(timestamp, '%Y-%m-%d %H:00:00') as ts, MIN(timestamp) as ts,
ROUND(AVG(temperature)/10, 1) as avg_temp, ROUND(AVG(temperature)/10, 1) as avg_temp,
MAX(rainfall) - MIN(rainfall) as rainfall, MAX(rainfall) - MIN(rainfall) as rainfall,
ROUND(AVG(humidity)/10, 1) as avg_humidity, ROUND(AVG(humidity)/10, 1) as avg_humidity,
ROUND(AVG(wind_speed)/10, 1) as avg_wind_speed ROUND(AVG(wind_speed)/10, 1) as avg_wind_speed
FROM sensor_data FROM sensor_data
WHERE timestamp BETWEEN ? AND ? WHERE timestamp BETWEEN ? AND ?
GROUP BY DATE_FORMAT(timestamp, '%Y-%m-%d %H') GROUP BY FLOOR(UNIX_TIMESTAMP(timestamp)/3600)
ORDER BY ts DESC ORDER BY ts DESC
` `
} }