我想从codeigniter(msql)中的数据库表中选择最近三天的数据

时间:2018-01-09 21:14:29

标签: php mysql sql database codeigniter

我的数据库中有表格,我想从我的3个不同的数据库表中选择最近三天的数据,我还想显示数据是否相同然后它会显示结果,否则会在codeigniter中显示空行。< / p>

我所有的桌子看起来像这样==&gt;

id   temp   hum  rain  time
1     16    62    NR   2018-01-05 11:00:23
2     17    62    NR   2018-01-06 11:00:22
3     17    61    NR   2018-01-07 11:00:22
4     16    60    NR   2018-01-08 11:00:23

1 个答案:

答案 0 :(得分:0)

您可以找到MySQL日期和时间函数列表here。这个问题的有趣之处是DATEDIFF(),它返回两个日期之间的差异。

如果到目前为止你已经展示了你的SQL语句会有所帮助,但我猜它会是这样的:

SELECT * from my_table

要仅选择日期在特定范围内的行,请使用WHERE。在这种情况下,我们只想要从现在起不到三天的时间行:

SELECT * from my_table WHERE DATEDIFF(NOW(), my_table.time) < 3

您可能需要进行一些实验才能获得所需的结果,具体取决于您希望如何完善日期。

如果您想在三天内将结果发送到第二个,您可以使用相同的想法,但有时间戳:

SELECT * from my_table WHERE (CURRENT_TIMESTAMP() - 60*60*24*3) < UNIX_TIMESTAMP(my_table.time)

60 * 60 * 24 * 3是三天内的秒数。