在Mysql中获取上一个日期

时间:2010-06-02 18:35:28

标签: python mysql

我有一个类似于这样的表:

日期| ID |价值|差

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

2天前|牛| 1 |空

昨天|牛| 2 |空

今天|牛| 3 |空

昨天的差异将是1,今天的差异将是1。

基本上,我需要根据日期得到以前的记录,我不知道每条记录之间的间隔。我已经被困了一段时间了。我使用Mysql和Python来完成大部分计算。

2 个答案:

答案 0 :(得分:0)

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

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