2010-06-02 69 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 
相關問題