php - 如何使用上下文点查询MySQL图数据

标签 php mysql graph flot

我的 website 上有一个工作图表,但图表数据在 24 小时时间范围内开始和结束,而实际上它应该从帧开始。我的查询就像这样:

select * where timestamp > 24hrs

如何查询该时间范围内的所有数据,以及该时间范围之前的第一个数据点?我无法使用常量值,因为有时屏幕外点相距 10 小时,有时相距 10 秒。

最佳答案

您可以选择时间范围之前的第一个数据点:

SELECT * FROM yourtable WHERE timestamp <= 24 ORDER BY timestamp DESC LIMIT 1

如果可能有多个相同的时间戳,则可以随机选择一个 - 如果 Not Acceptable ,则改用 ORDER BY timestamp DESC, Primary_key

所以你可以通过UNION得到你想要的东西:

/* This gets the first item previous to your range limitation */
SELECT
    * FROM yourtable
    WHERE timestamp <= 24 ORDER BY timestamp DESC LIMIT 1
UNION
/* Your original query */
SELECT
    * FROM yourtable
    WHERE timestamp > 24;

我在这里假设(根据您的问题)时间戳是一个整数,但如果它是一个 DATETIME 列,则可以调整上面的内容。

关于php - 如何使用上下文点查询MySQL图数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14465504/

相关文章:

php插入不向数据库添加数据,有什么想法吗?

MySQL如果存在则插入id否则插入到两个表中

2行表中 Ant 移动的算法

.net - 高效绘制实时波形

PHP:获取调用引用的数组名称

php - 将用户输入与mysql数据库匹配,并根据用户输入给出不同的结果

php - 如何将文本文件导入sql

MySQL:日志汇总查询

.net - 合并 .net 对象图

php 包含数组 vs mysql 查询 : good idea?