2011-03-16 116 views
0

我想從mysql數據庫中找到兩個值的前綴變化。通過時間戳獲取值以查找百分比變化。 Mysql

我有一個cron作業設置爲大約插入值每一個小時..

每個值都有一個與之關聯的unix時間戳,我想要得到的前幾天(〜24小時)的值,並用當前比較一個得到百分比增加或減少。

表看起來是這樣的:

+-----+----+ 
|value|time| 
+-----+----+ 
+0

在24小時前,總是會有一個值** **。那麼第一天的價值呢?那麼前一天就沒有價值了。那麼會發生什麼? – 2011-03-16 20:35:05

回答

0

你需要從第1天2天的值相加,是嗎?這會給你在日曆日之間的讀數之間的變化。

SELECT t1.time, (sum(t1.value) - sum(t2.value)) 
from table t1, table t2 
where t1.time>t2.time 
and t1.time = t2.time + (60 * 60 * 24) 
group by date(from_unixtime(t1.time) 
1

試試這個假設有前一天的準確匹配:

SELECT T1.time, (T1.value - T2.value) * 100/T2.value AS percent_change 
FROM yourtable T1 
JOIN yourtable T2 
ON T1.time = T2.time + (60 * 60 * 24) --# seconds in a day 
WHERE T1.time > ....