2011-04-05 56 views
0

我運行一個PHP腳本,從1前一天獲取一些數據的AVG檢索前一天的數據:使用SQL

$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小時前」?

回答

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

您更改這一行:

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