我遇到了一种情况,我需要计算同一列中两个连续行之间的差异。这是我的“orders”结构表。
orderid type productsales
1002 Order 120
1002 Refund -35
1003 Order 199
1003 Refund -50
1004 Order 245
1005 Order 80
现在,我只想选择订单类型“order”和“Refund”的相同
orderids
之间的“productsales”差异大于0的记录 最佳答案
select orderid
from orders
group by orderid
having sum(case when `type` = 'Order' then productsales else 0 end) +
sum(case when `type` = 'Refund' then productsales else 0 end) > 0
您需要从另一个值中减去这些值。但是因为你把
-
储存在退款里,所以我用了+
。关于mysql - 在MySQL中查找同一列的两个连续行之间的差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28063955/