【发布时间】:2019-09-21 19:47:41
【问题描述】:
我有一个天气应用程序,我每小时将气象数据存储在数据库中。
最近我发现了一个小错误,导致写入了数百条错误记录。
为了解决这个问题,我决定使用当天的平均值更新所有错误记录。
我有以下 3 个查询来检索我需要的值:
select TRUNCATE( ( sum(temperature) / count(*) ), 2) as myTempAvg from MY_TABLE where rawData not in ('chron', 'fallback') and DATE(transmissionDate) = DATE('2019-01-27');
select TRUNCATE( ( sum(humidity) / count(*) ), 2) as myHumyAvg from MY_TABLE where rawData not in ('chron', 'fallback') and DATE(transmissionDate) = DATE('2019-01-27');
select TRUNCATE( ( sum(pressure) / count(*) ), 0) as myPressAvg from MY_TABLE where rawData not in ('chron', 'fallback') and DATE(transmissionDate) = DATE('2019-01-27');
我正在尝试找出一种在 UPDATE 语句中使用上述查询的方法。比如:
update MY_TABLE set temperature = $QUERY_1_RESULT , humidity = $QUERY_2_RESULT , pressure = $QUERY_3_RESULT where rawData in ('chron', 'fallback') and DATE(transmissionDate) = DATE('2019-01-27');
注意:$QUERY 变量用于解释用途占位符。
有什么想法吗?
【问题讨论】:
标签: mysql