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":
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
`
}