我想在mysql中生成一个新表,其中包含每两行之间的差异。 例如,如果我有这个表:
表1:
ID VALUE
1 16748
1 19628
1 23245
1 23322
1 33399
2 15367
2 17839
2 34578
2 53421
3 14229
3 19533
........
我想得到2个连续值(行[x + 1] -row [x])之间的区别,对于每个ID的所有值
所以我的结果是:
ID DIFF
1 2880
1 3617
1 77
1 10077
2 2472
2 16739
2 18843
3 5304
答案 0 :(得分:0)
您可以尝试这样的事情: -
SELECT
MIN(T2.VALUE- T1.VALUE) AS Dif
FROM
Table T1 INNER JOIN Table T2 on T1.VALUE< T2.VALUE
ORDER BY
T1.VALUE
答案 1 :(得分:0)
你可以通过自己加入表来做到这一点。
SELECT (first.value - second.value) AS differ FROM `table` AS first JOIN `table` AS second WHERE first.id + 1 = second.id