首先,我想你应该经常储存温度和最高温度在两个独立的表。
第二,如果你还是喜欢你的模式,你可以做这样的事情:
UPDATE weather_data
INNER JOIN (
SELECT MAX(temperature) as temperature, DAY(time) as date
FROM weather_data GROUP BY DAY(time)
) max_temp
ON max_temp.date = DAY(time)
SET weather_data.max_temperature = max_temp.temperature
编辑:
如果你想用两个表的方法,我建议您有以下表格:
weather_data:
max_daily_temperature:
至于插入:我想你已经照顾weather_data的,但对于max_daily_temperature,这将是这样的:
INSERT INTO max_daily_temperature
SELECT DATE(time), MAX(temperature)
FROM weather_data
WHERE DATE(time) = '2017-08-30'
和更新:
UPDATE max_daily_temperature
SET max_temperature = (
SELECT MAX(temperature)
FROM weather_data
WHERE DATE(time) = '2017-08-30'
)
WHERE date = '2017-08-30'
如果这是你正在看,不要忘记将答案标记为解决方案。
参见[我为什么要提供什么似乎我的MCVE是一个非常简单的SQL查询(http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve -for - 什么 - 似乎对我将要-A-极简单的SQL查询) – Strawberry
这当然是可能的,但是它是一个好主意?您复制一个数据点,一天中的最大温度,超过95行。为什么不制作一张每日一行的新表格,其中包含所有日常数据?这种做法被称为“正常化”,请参阅:https://en.wikipedia.org/wiki/Database_normalization –