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

clj7thdc  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(256)

我的数据库中有表,我想从我的3个不同的数据库表中选取最后三天的数据,我还想显示如果数据相同,那么它将显示结果,否则在codeigniter中显示空行。
我所有的table看起来像这样==>

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
laik7k3q

laik7k3q1#

您可以在这里找到mysql日期和时间函数的列表。这个问题最有趣的是 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)

606024*3是三天内的秒数。

相关问题