繁体   English   中英

将多行中的列值相乘,然后相加

[英]Multiply column values from multiple rows and then add

我需要从数据库中获取出售的价格和数量,然后将它们相乘以得到每个的输出,然后将它们加在一起。 我想我可以使用一个foreach循环,但是我不确定该变量是否每次通过都会保留其值。 到目前为止,这是我尝试过的:

    $query = "SELECT * FROM `inv`";
    $data = mysqli_query($dbc, $query);
    while($row = mysqli_fetch_array($data)){
        if(isset($fin2)){
            $fin = $fin2;
        } else {
            $price = str_replace('$', '', $row['price']);
            $fin2 = ($row['sold'] * $price + $fin);                 
        }
        if(isset($fin)){
        $fin = ($fin + $fin2);
        echo $fin;
        } 

如您所见,我有点困惑,任何帮助将不胜感激。

为什么不在数据库中进行计算?

SELECT SUM(price * sold) as total
FROM `inv`;

编辑:

SELECT SUM((replace(price, '$', '') + 0) * sold) as total
FROM `inv`;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM