繁体   English   中英

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

[英]i want to pick last three days data from my database tables in codeigniter (msql)

我的数据库中有表,我想从3个不同的数据库表中选择最后三天的数据,我还想显示数据是否相同,否则将显示结果,否则在codeigniter中显示空行。

我那里所有的表看起来像这样==>

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

您可以在此处找到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)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM