gpt4 book ai didi

mysql - 每周更新数据的数据库设计

转载 作者:行者123 更新时间:2023-11-29 10:29:19 25 4
gpt4 key购买 nike

我发现很难解释我想问的问题,所以我创建了一个假设问题(以临时为例),也许我的问题仍然不是很清楚,但是请看一下。如果您需要任何说明,请告诉我

我想比较上周日的温度和三周前(周日)的温度,所以它应该显示这样的内容。选择选项中有两个日期,所以我想分析上周日之前周日的温度,

<select>
<option> Last Sunday (2017-12-03) </option>
<option> Previous Sunday (2017-11-26) </option>
</select>

<h1> Temp on 2017-12-03 </h1>

<p> 24 C </p>


<h1> temp 3 weeks ago (2017-11-12)</h1>

<p> 24.4 C</p>

<h1> Change in temp </h1>

<p> .4 </p>

假设我只能获取当前周日的温度,所以我需要每周更新此数据库(每个周日)

city_id    sunday_temp   temp_pre_week1   temp_pre_week2  temp_pre_week3 last_sunday_date  
1 24.0 24.3 35.2 24.4 2017-12-03
1 24.3 35.2 24.4 28.0 2017-11-26
2 3.0 4.0 2.0 6.0 2017-12-03
2 4.0 2.0 6.0 7.0 2017-11-26
.
.
around 2000 rows

我认为的另一个选项是将数据保存 4 周,因此当用户选择上周日之前的周日时,我将能够使用第 4 周列,像这样的事情

city_id    sunday_temp   temp_pre_week1   temp_pre_week2   temp_pre_week3  temp_pre_week4 last_sunday_date  
1 24.0 24.3 35.2 24.4 28.0 2017-12-03
2 3.0 4.0 2.0 6.0 7.0 2017-12-03
.
.

我只想分析两个星期日而不是更多,所以我认为再添加一列会更有效,

谢谢:)

最佳答案

不要在每行中存储查询的所有数据。让数据库为您完成工作。您的数据库结构应仅包含 city_iddatetemp。如果只包括周日,那也没关系。然后你可以使用类似的东西

SELECT `temp`,`date` FROM `citydata` WHERE (`city_id` = 1) and (`date` <= '2017-12-03') ORDER BY `date` DESC LIMIT 4

它将检索 2017 年 12 月 3 日或之前城市 1 的最后 4 条可用记录。如果您有每个星期日的数据,那么您将得到具体日期(“上星期日”)加上前 3 周的数据。如果您决定想要更多 - 只需将 LIMIT 更改为 5 或 6 或您想要的任何值。如果您稍后决定添加一周中的不同日期,则不必更改数据库结构(尽管您需要稍微调整查询)。最重要的是,您在收集新数据时无需查看以前的记录 - 您只需添加新记录并在实际需要时获取前几周的数据即可。

关于mysql - 每周更新数据的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47708203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com