我的问题更多的是“理论”而不是实际 - 换句话说,我并不是真的在寻找如何做某事的特定代码,而更像是关于如何做某事的建议。我思考了一段时间,但无法想出一些可行的解决方案。 基本上,我有一个 MySQL 数据库来保存气象站的天气信息。
第一列包含测量的日期和时间(日期时间格式字段),然后是一系列各种列,例如温度、湿度等。我现在感兴趣的是温度列。数据按日期和时间升序排序,这意味着最新的值始终插入到末尾。
现在,我想做的是使用 PHP 脚本,连接到数据库并查找一定时间间隔内的温度变化,然后找到最大值。换句话说,例如我选择间隔 3 小时。然后我想从所有值中找到这 3 小时(或 5 小时、1 天等)内温度变化最显着的时间。
问题是我真的不知道该怎么做。如果我只是从数据库获取值,我会一个接一个地获取值,但我想不出一种方法来获取距离当前过去 3 小时的值。那么就很容易了,只需减去它们并从当时的日期时间字段中获取日期,但是如何获取例如相隔 3 小时的值(而且,问题是它不能只是一个特定的数字过去的行数,因为数据保存的间隔不规则,范围在 5-10 分钟之间,因此过去 3 小时可能是不同的行数)。
有什么想法可以做到这一点吗?
非常感谢
最佳答案
其实并不难。所以我假设它是一个包含 time
和 temp
字段的两列表,其中 time
是 DATETIME 字段
SELECT MAX(temp) FROM records
WHERE time >= "2013-10-14 12:00:00" and time <= "2013-10-14 15:00:00"
关于php - 获取间隔之间的温差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19370830/