使用SQL从前一天检索数据

时间:2011-04-05 18:20:53

标签: php mysql sql

我正在运行一个php脚本,它从前一天检索一些数据的AVERAGE:

$yesterday1=date('Y-m-d H:i:s', strtotime('-1 day')); 
$strSQLYesterDay1=" SELECT AVG(Temperature) As TAverage1 FROM minute WHERE ";
$strSQLYesterDay1=$strSQLYesterDay1. "DateTime LIKE '" . substr ($yesterday1,0,10)."%'";

我在这个php / sql脚本中更改了什么,以便在“1天”之前,而不是“1小时”之前?

2 个答案:

答案 0 :(得分:4)

你也可以在mysql中完成所有这些:

SELECT AVG(Temperature) As TAverage1
FROM minute
WHERE DateTime BETWEEN TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 HOUR)) AND NOW()

这将从现在到一小时之前获得DateTime所有记录的AVG

这样你不需要用php构建查询,也不需要使用字符串比较。

答案 1 :(得分:1)

你改变了这一行:

$yesterday1=date('Y-m-d H:i:s', strtotime('-1 hour'));