我有一个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']。 我将如何从中提取年份,月份......等并将其与当前时间进行比较?
答案 0 :(得分:2)
你应该可以这样做:
SELECT * FROM table WHERE time > datetime('now', '-30 minutes');