我一直在做這方面的一些研究,並且感謝在另一個主題上發佈的解決方案,我接近解決了這個問題。用SQL計算差異
我試圖獲得在一列數據的變化:行(N) - 行(N-1)
update Table tt1
left outer JOIN Table tt2
on tt1.name = tt2.name
and tt1.date-tt2.date=1
set tt1.delta = (tt1.amount-ifnull(tt2.amount, tt1.amount));
輸出是
Date | Value | Delta
2013-03-30| 38651 | 393
2013-03-31| 39035 | 384
2013-04-01| 39459 | 0
2013-04-02| 39806 | 347
正如你所看到的,差值不計算在4月的第一個月(其餘的值都很好)。每個月的第一天也是如此。
我的猜測是[和tt1.date-tt2.date = 1]有關係,但我無法弄清楚究竟是什麼。
感謝您提前提供的所有幫助!
謝謝你的解決方案。它工作正常,我只需要添加一個'。'到tt2.amount以避免語法錯誤,並將減法更改爲tt2.amount - tt1.amount。 – user2581135
謝謝,我解決了答案 –