我試圖根據列的值'value'按比例分配一個表中的每一行的數量,它是所有行的該列總和的百分比。例如根據該行中列的值,按比例分配一個數字MySQL PHP
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");
我也試過下面,我已經通過SumofValue分爲AmounttoDistribute一個變量($ AmountPerEach1)while循環:
$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 * $AmountPerEach1) WHERE columnX = 1 AND columnY = 1");
感謝您的任何幫助
您需要更改數據庫中的該值,或者您想只顯示劃分的價值? –
我需要將新金額添加到預先存在的值中,以便現在向行添加AmounttoDistribute之後,數據庫中的總計爲:行1 = 75,行2 = 150,行3 = 45,行4 = 30 – Shlomo7
好的,當這些數值沒有以相等的比例相加時,哪一個會收到差異?或者它可以隨機選擇? –