Php 根据每行中某列的值按比例将数字除以该行

Php 根据每行中某列的值按比例将数字除以该行,php,mysql,Php,Mysql,我试图根据列“value”的值以及它占所有行的该列总和的百分比,将金额按比例分配给表中的每一行。比如说 AmounttoDistribute = 200 CurrentTotal = 100 Row 1 value = 25 Row 2 Value = 50 Row 3 Value = 15 Row 4 Value = 10 我想去哪里 Row 1 will receive 50 Row 2 will receive 100 Row 3 will receive 30 Row 4 will

我试图根据列“value”的值以及它占所有行的该列总和的百分比,将金额按比例分配给表中的每一行。比如说

AmounttoDistribute = 200
CurrentTotal = 100
Row 1 value = 25
Row 2 Value = 50
Row 3 Value = 15
Row 4 Value = 10
我想去哪里

Row 1 will receive 50
Row 2 will receive 100
Row 3 will receive 30 
Row 4 will receive 20
我尝试了几个不同的while循环,但到目前为止,结果与我尝试实现的结果非常不同。我已经在变量中得到了$AmounttoDistribute和$SumofValue,我知道它们是正确的。以下是我尝试过的:

$val = mysqli_query($db, "SELECT Value FROM Table WHERE columnX = 1 AND columnY = 1");
$Result = mysqli_fetch_array($val);
$value = $Result['Value'];

while($Result = mysqli_fetch_array($val)){ 
mysqli_query($db, "UPDATE Table SET Value = Value + (Value / $SumofValue * $AmounttoDistribute) WHERE columnX = 1 AND columnY = 1");     
我还尝试了下面的while循环,其中我已经有一个AmounttoDistribute变量除以SumofValue($AmountPerEach1):

感谢您的帮助

如果您知道AmountToDistribute和CurrentTotal,您可以通过一条简单的SQL语句来实现这一点

基本上:

UPDATE table SET column = column + ((AmountToDistribute/CurrentTotal)*column);
特别是在这种情况下:

UPDATE Table SET Value = Value + 2*Value;

您需要在数据库中更改该值,或者只显示除以的值?我需要将新的金额添加到预先存在的值中,以便在将AmounttoDistribute添加到行后,数据库中的总数现在为:行1=75,行2=150,行3=45,行4=30确定,并且当值没有以相等的除法相加时,哪一个会收到差额?或者它可以随机选择?我用的是0后面的7位小数,所以超出这个小数点的任何余数都是无关紧要的。我觉得自己很笨……非常感谢:)
UPDATE Table SET Value = Value + 2*Value;