回答

收藏

属于同一组但存储在两行中的值之差

技术问答 技术问答 199 人阅读 | 0 人回复 | 2023-09-12

我有一个问题,我需要提取两个具有两个不同值的特定记录,并找出它们之间的差异。这需要为每个设备完成。让我们以下表为例5 n8 z+ i3 r0 C9 p. M" I
DevID   reason    amount         DateTime--------------------------------------------------99       5        84       18-12-2016年18:1099        35       18:1099                 -12-2016年18:1199       80        1818:1199-12-2016 18:1299       0        34       18-12-2016年18:1523     55              1818:1523-12-2016年18:1623                    188:1623-12-2016年18:1723        22      18:1723-12-2016年18:1823      22          18:1823-12-2016年18:1999     2          11     1818-12-2016年18:2099年    8     50         1888:2099-12-2016年18:2199       23        188:2199-12-2016年18:2299     55               1818-12-2016年18:2599    8     12        18818-12-2016 18:30因此,我感兴趣的原因是5和8。5是设备登录,8是取消,其他数字表示其他含义。我想获取设备登录原因(5)和下一个设备取消(8)的记录,并找出其金额值的差异。因此,在设备99的上表中,原因5的金额为84,取消事件(8)为50,因此差异为34。如果大于10,我需要列出设备。(请注意,在同一记录中还有另一种情况,5和8,差异不大于5),但第一组的差异大于10,因此我们需要显示设备ID
* w$ e5 v8 U+ s- ?因此,上述预期输出是( J, j" X& I0 o+ p% R- U
DevID-------99我正在考虑加入联接表A,该表的所有记录均为5(按5)deviceid,date排序),表B所有记录均为8,然后减去数量,显示值大于10。该走的路?任何更简单/更快的解决方案?
* E; O8 d8 x) f                                                                8 h$ E, y* a2 T! j
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则