在mysql中,如何使用queryupdate从行中减去一个数字,直到减法结束
如果有这样的table
Store Table
itemId storeCode qoh
1 1 20
1 2 30
1 3 40
我想从qoh中减去“80”,得到输出
itemId storeCode qoh
1 1 0
1 2 0
1 3 10
我试过了,但没有工作
set @sum = 80;
Update store SET qoh =
(SELECT IF((@sum := @sum - qoh) > 0,0,qoh))
ORDER BY storeCode ASC;
怎样做适当的调整?
1条答案
按热度按时间oxalkeyp1#
如果您运行的是mysql 8.0,那么可以使用窗口函数进行计算。
以下
select
查询将提供预期结果:你可以把它变成一个
update
:db小提琴演示:
我在您的数据末尾添加了一行额外内容,以证明查询会留下“following”
qon
没碰过。