2010-06-02 72 views
0

我有一个格式与此类似的表格:在Mysql中获取上一个日期

日期| ID |值|差异

我需要获取记录的值列和基于日期的上一个记录的值列之间的差异。

I.E

2天前|牛| 1 |空

昨天|牛| 2 | Null

今天|牛| 3 |空

昨天的区别是1,今天的区别是1

基本上,我需要之前的纪录基于关闭日期搞定,我不知道每个记录之间的时间间隔的。我一直在困扰这一点。我使用Mysql和Python来完成大部分计算。

+1

这是新的一些事情,在电子表格可以做一个数据库不能(据我所知)之一。当然,您可以使用外部语言来计算。 – barrycarter 2010-06-02 19:07:35

回答

0

使用一个SELECT... WHERE date <= NOW() && date >= (NOW() - 90000)(90,000是25小时,给你一点插入时间的余地),然后取出python中的行之间的差异。

+0

我在这有点生疏,所以我的语法可能会关闭。 – eykanal 2010-06-02 18:45:42

0

在Python或存储过程,或其它语言:

Query Data using your criteria 
Fetch first record 
Begin Loop 
    Get value of previous record by executing another query (select value from table where date<current_record_date order by date desc limit 1) 
    Update current_record set diff=value-previous value 
    Fetch next record, exit loop if no more 
Iterate Loop 
相关问题