Php Sql查询仅查找上一小时的数据

Php Sql查询仅查找上一小时的数据,php,mysql,sql,Php,Mysql,Sql,我有一张桌子如下 我只需要上个小时的数据。在下面的查询中,我尝试使用引用 SELECT * FROM `user_otp` WHERE `date` = '$todate' AND datetime > DATEADD(HOUR, -1, GETDATE()) 我不知道这一点,但我尝试使用 但这对我不起作用。 所以任何帮助都是有用的 DATEADD和GETDATE()存在于SQL Server中 在MySQL中,您的条件应该是: WHERE `datetime` > DATE_

我有一张桌子如下

我只需要上个小时的数据。在下面的查询中,我尝试使用引用

SELECT * FROM `user_otp` 
WHERE `date` = '$todate'
AND datetime > DATEADD(HOUR, -1, GETDATE())
我不知道这一点,但我尝试使用

但这对我不起作用。
所以任何帮助都是有用的

DATEADD
GETDATE()
存在于SQL Server中

在MySQL中,您的条件应该是:

WHERE `datetime` > DATE_ADD(NOW(), INTERVAL -1 HOUR)
date='$todate'
条件是多余的,应该删除


这是中的文档。

您好,您可以使用DATE\u子功能获取最近一小时的数据。我在下面编辑了你的代码-

SELECT * FROM `user_otp` 
WHERE `date` = '$todate'
AND datetime >= DATE_SUB(NOW(),INTERVAL 1 HOUR);
在查询中使用DATE_SUB和NOW()函数

SELECT count(*) as lasthour_count 
FROM user_otp 
WHERE datetime >= DATE_SUB(NOW(),INTERVAL 1 HOUR);

以下是您可以使用的两个选项

使用您的查询和提供的示例数据会得到什么结果?
函数tbl\u name.DATEADD不存在
datetime>=DATE_ADD(NOW(), INTERVAL -1 HOUR);
datetime>= DATE_sub(NOW(), INTERVAL 1 HOUR);