2013-12-15 38 views
1

我是一個非常新手上的PHP和SQL。如何獲得今日與昨天收盤價格的變化?

這是數據庫的樣子。

我想每天關閉的變化。

// Quantity of rows 

$sql = mysql_query("SELECT Date, Close FROM stock"); 

$range = mysql_num_rows($sql); 

echo $range . "<br>"; 

// Getting the Change 

$result2 = mysql_fetch_array($sql); 

for($i=1;$i<$range+1;$i++){ 

    $dayChange = $result2[$i]-$result2[$i-1]; 

    echo $dayChange . "<br>"; 

} 

http://i.stack.imgur.com/KYMke.jpg

+0

計數更好地'SELECT COUNT(*)FROM stock'實現。而且,您應該將LIMITS添加到您的許多結果行的查詢中,並添加一個分頁機制。 – HerrSerker

+0

@HerrSerker爲什麼通過使用count可以更好地實現計數?不爭論,只是想知道爲什麼。 – Ali

+0

@AliTrixx如果你有很多結果行,它會降低系統速度,因爲所有的行必須從MySQL服務器發送到PHP進程。 – HerrSerker

回答

0

如果再沒有假期試試這個SQL查詢:

SELECT id, sDate AS mDate, close, (
close - ( 
SELECT close 
FROM stock 
WHERE sDate = DATE_ADD(mDate, INTERVAL 1 
DAY)) 
) AS dayChange 
+0

只有交易日。沒有周六和週日,沒有公共假期。再幫忙!?謝謝 – user3104489

相關問題