我有一个看起来像这样的MySQL表:
Timestamp | Content
-----------------------------------------
2018-10-28 12:59:47 | "Some string"
2018-10-29 04:13:48 | "Some other string"
Timestamp
列为datetime
类型。正在使用PHP date()
函数创建要插入到列中的值。例如,date("Y-m-d H:i:s")
我想使用PHP选择时间戳记值在最近n分钟内的所有行。
我知道如何选择日期为特定值的所有行。例如,以下将选择时间戳与当前日期/时间匹配的所有行:
mysqli_query($link, "SELECT * FROM tablename WHERE Timestamp = '" . date("Y-m-d H:i:s") . "'");
我将如何查询以选择时间戳记值在最后一个(即49分钟)之内的所有行?
答案 0 :(得分:2)
使用此查询(当MySQL内置有日期功能时,无需涉及PHP日期功能。有关更多信息,请参见DATE_SUB()
)
SELECT *
FROM tablename
WHERE Timestamp > DATE_SUB(NOW(), INTERVAL 49 MINUTE)