Php 尝试从数据库表执行基本减法

Php 尝试从数据库表执行基本减法,php,mysql,sql,database,math,Php,Mysql,Sql,Database,Math,我尝试根据用户输入减去数据,例如: **id | quantity 1 | 50 2 | 30 3 | 60** 更新表格集合数量=数量-*某些输入值* 这很容易,如果我一个字段一个字段地减去,其中id=1…2…3,但我想在输入数量时自动减去值,所以如果输入为60,第一个字段中有50,那么余数将从下一个字段中减去,依此类推: $input=60; 现在第一个数量将是50-60=0,mod=10,第二个30-10=20 **id | quantity 1

我尝试根据用户输入减去数据,例如:

**id  |  quantity
  1   |  50
  2   |  30
  3   |  60**
更新表格集合数量=数量-*某些输入值*

这很容易,如果我一个字段一个字段地减去,其中id=1…2…3,但我想在输入数量时自动减去值,所以如果输入为60,第一个字段中有50,那么余数将从下一个字段中减去,依此类推:

$input=60; 现在第一个数量将是50-60=0,mod=10,第二个30-10=20

**id  |  quantity
  1   |  0
  2   |  20
  3   |  60**
有人能帮我吗?我试了我能记得的一切。
谢谢

您可以使用以下方法计算新值:

select t.*,
       (case when running_quantity - quantity >= 60 then 0
             when running_quantity > 60 then running_quantity - quantity
             else quantity
        end) as new_quantity
from (select t.*, sum(quantity) over (order by id) as running_quantity
      from t
     ) t
您可以将其合并到更新中:


可以使用以下公式计算新值:

select t.*,
       (case when running_quantity - quantity >= 60 then 0
             when running_quantity > 60 then running_quantity - quantity
             else quantity
        end) as new_quantity
from (select t.*, sum(quantity) over (order by id) as running_quantity
      from t
     ) t
您可以将其合并到更新中:


非常感谢,这会有帮助的!新来的,sry,我接受了你的回答:再次感谢!非常感谢,这会有帮助的!新来的,sry,我接受了你的回答:再次感谢!