查找 mysql 中同一列的两个连续行之间的差异
Find difference between two consecutive rows of same column in mysql
我遇到这样一种情况,我需要计算同一列的两个连续行之间的差异。这是我的 table 命名为 'orders' 的结构。
orderid type productsales
1002 Order 120
1002 Refund -35
1003 Order 199
1003 Refund -50
1004 Order 245
1005 Order 80
现在,我只想 Select 那些记录,其中相同 orderids
订单类型 'Order' 和 'Refund' 之间的 '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
您需要从另一个值中减去这些值。但是由于您在退款中存储了 -
,我使用了 +
.
我遇到这样一种情况,我需要计算同一列的两个连续行之间的差异。这是我的 table 命名为 'orders' 的结构。
orderid type productsales
1002 Order 120
1002 Refund -35
1003 Order 199
1003 Refund -50
1004 Order 245
1005 Order 80
现在,我只想 Select 那些记录,其中相同 orderids
订单类型 'Order' 和 'Refund' 之间的 '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
您需要从另一个值中减去这些值。但是由于您在退款中存储了 -
,我使用了 +
.