按时间戳获取值以查找百分比变化。 Mysql的

时间:2011-03-16 20:31:14

标签: php mysql

我想从mysql数据库中找到两个值的precent更改。

我设置了一个cron作业,大约每小时插入一次值..

每个值都有一个与之关联的unix时间戳,我希望获得前几天(~24小时)的值,并与当前值进行比较,以获得增加或减少的百分比。

表格如下:

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

2 个答案:

答案 0 :(得分: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 > ....

答案 1 :(得分: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)