首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想从我的codeigniter (msql)数据库表中挑选最近三天的数据

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

Stack Overflow用户
提问于 2018-01-10 05:14:29
回答 1查看 52关注 0票数 1

我在我的数据库中有三个表,我想从我的3个不同的数据库表中挑选过去三天的数据,我还想显示如果数据是相同的,那么它将显示结果,否则在codeigniter中显示空行。

我的所有这些表看起来都像这样的==>

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2018-01-10 05:32:35

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

如果您到目前为止已经显示了您的SQL语句,那么这将是很有帮助的,但我将猜测它是这样的:

代码语言:javascript
复制
SELECT * from my_table

要只选择日期在特定范围内的行,可以使用WHERE。在这种情况下,我们只需要从现在开始时间少于三天的行:

代码语言:javascript
复制
SELECT * from my_table WHERE DATEDIFF(NOW(), my_table.time) < 3

您可能需要进行一些实验才能准确地获得您想要的结果,这取决于您希望如何四舍五入。

如果你想在三天到第二天内得到结果,你可以使用相同的想法,但要有时间戳:

代码语言:javascript
复制
SELECT * from my_table WHERE (CURRENT_TIMESTAMP() - 60*60*24*3) < UNIX_TIMESTAMP(my_table.time)

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48176737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档