我已经对这个主题进行了一段时间的研究,并且感谢另一个主题中发布的解决方案,我接近解决了这个问题。
我正在尝试获取数据列中的更改:row(n) - row(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 月 1 日的差异不计算(其余值都很好)。每个月的第一天也是如此。
我的猜测是与 [and tt1.date-tt2.date=1] 有关,但我无法弄清楚到底是什么。
提前感谢您的所有帮助!