SQLite3和PHP:按日期时间排序条目

时间:2013-12-08 04:29:34

标签: php datetime sqlite

我有一个SQLite3数据库,其中包含存储传感器读数的条目。表中的每一行都如下所示:

time                | temp1 | humid1 | temp2 | humid2
2013-12-07 23:15:51 | 26.06 | 16.29  | 22.24 | 17.55

其中第一个条目是日期,以下是传感器数据。 现在我需要做的是,使用PHP,获得最近30分钟的读数。我只想要不到30分钟的数据,因为数据收集可能没有运行,如果我刚刚选择了第一组值,我就会获得旧数据。

我可以想到两种方法可以做到这一点: 在SQLite中有什么方法可以做这样的事情吗?

SELECT * FROM table WHERE time < (time-30 minutes)

我能做的另一件事是抓住前300个值(相当于30分钟) 然后自己比较年,月,日,小时和分钟。问题是,我不知道如何从我得到的PHP变量中提取那些

SELECT * FROM table  ORDER BY time DESC limit 300

所以,假设我得到了一行名为$ row的行(在PHP中),其中时间是$ row ['time']。 我将如何从中提取年份,月份......等并将其与当前时间进行比较?

1 个答案:

答案 0 :(得分:2)

你应该可以这样做:

SELECT * FROM table WHERE time > datetime('now', '-30 minutes');