>我的数据库中有表,我想从我的 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是三天的秒数。