gpt4 book ai didi

php - MySQL查询中基于日期的第n条记录

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


我正在创建一个显示天气数据的基于 jquery 的网络图表。数据通过 Ajax -> PHP -> MySQL 加载。 MySQL 数据库包含过去 10 年每分钟的各种参数记录......(如此大量的记录)。我希望用户能够为自定义日期范围生成图表,但限制我为超过几天的日期范围提取的数据数量。也就是说,如果他们查询一个星期的数据,我的 php 代码应该每小时只返回 1 个数据值。
我不想做任何平均或服务器端那种处理——我只想从 mysql 中检索每第 n 条记录——这样我就可以获得可管理的数据量。

我的问题是,我的数据库没有记录号字段,而且我无法修改数据库的格式。有没有一种方法可以根据实际日期值执行此操作?就像说转换到 unix 时间戳,然后只选择日期可以被某个数字整除的记录? (我会根据时间范围的长度计算数量,以拉出固定数量的点)

关于执行此操作的好方法有什么想法吗?如果有一个解决方案可以让我直接选择偶数时间间隔,那将是理想的。 (即每 5 分钟、10 分钟、1 小时、5 小时等)

编辑:该字段是 MySQL 日期时间格式!!感谢您要求澄清!

最佳答案

您可以使用 MOD()UNIX_TIMESTAMP() SQL WHERE 子句中的函数

SELECT * FROM WEATHER WHERE MOD(UNIX_TIMESTAMP(Time), Divisor) = 0

只会让您获得可被除数整除的时间记录。除数可以是您想要获取数据的任何时间增量(每 5 分钟 300,每 1.5 小时 5400,等等)。

由于 UNIX 时间使用 32 位 int,您在 MySQL 中的标准 INT 数据类型就可以了。

关于php - MySQL查询中基于日期的第n条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6512367/

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