查找同一列中共享不同列中的属性的两行之间的差异

时间:2015-09-15 15:56:38

标签: mysql

我正如标题所暗示的那样做。我们的制造过程有不同的阶段。在每个阶段我们计算物品,这个数字通常会下降,因为我们必须在每个阶段废弃一些库存。我试图找到这种差异。

流程按升序阶段和工单排序。抱歉格式不佳,我不知道更好的说明方式

ORDER     STAGE     PROCESS      COUNT
25252      1         Build        202
25252      2       Laser Cut      201
25252      3       Packaging      200
25260      1         Build       1500
25260      2       Laser Cut     1497
25260      3       Packaging     1495

所以我试图添加另一个显示计数差异的列,但仅限于该顺序。这样它就不会显示具有200计数的行与具有1500计数的行之间的差异。在这种情况下,列将显示

Null
-1
-1
Null
-3
-2

再次抱歉格式不佳。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我明白了。找到方差是一个滞后函数。对不起我的信息不足!并感谢您的帮助:)

    ROUND (wooper_qtyrcv - lag(wooper_qtyrcv) OVER (PARTITION BY wo_id ORDER BY wooper_seqnumber)) as difference