根据 MySQL 数据库中两列之和计算百分比值

Calculate Pecent Value from Sum of Two Columns in MySQL Database

我正在尝试从两列中获取总值(我已经这样做了)- 并获取这些值并从中创建一个百分比。在这种情况下,我有一个加权值和一个总值。我需要知道我的加权值占总价值的百分比。

我试过:

    $result = mysqli_query($mysqli, "SELECT SUM(WEIGHTEDV / VALUE) FROM test.service");

    $result = mysqli_query($mysqli, "SELECT WEIGHTEDV, VALUE, (WEIGHTEDV / VALUE) AS percent FROM test.service;

    $result = mysqli_query($mysqli,"SELECT (WEIGHTEDV / VALUE)*10 AS Percent
FROM test.service");

还有其他一些我不太记得的尝试。

这里是更完整的代码:

登录和工作总和 VALUE


    <?php
                    //LOGIN INFO
                    $db_host = 'localhost';
                    $db_user = 'root';
                    $db_pw = "********";
                    $database = "test";
                    //LOGIN VARIABLE
                    $mysqli = new mysqli($db_host, $db_user, $db_pw);
                    //VERIFY LOGIN INTEGRITY
                    if ($mysqli === false) {
                        die("Cannot connect to Database Server" . $mysqli->connect_error);
                    }
                    if (!mysqli_select_db($mysqli, $database)) {
                        die("Cannot select test Database" . $mysqli->connect_error);
                    }
                    $result = mysqli_query($mysqli, "SELECT SUM(VALUE) FROM test.service");
                    //PRINT ROWS
                    $fields_num = mysqli_num_fields($result);
                    while($row = mysqli_fetch_row($result)) {
                        foreach($row as $cell) {
                            echo "$$cell";
                        }
                    }
                    ?>

WEIGHTEDV 的工作总和


                        <?php
                    $result = mysqli_query($mysqli, "SELECT SUM(WEIGHTEDV) FROM test.service");
                    //PRINT ROWS
                    $fields_num = mysqli_num_fields($result);
                    while($row = mysqli_fetch_row($result)) {
                        foreach($row as $cell) {
                            echo "$$cell";
                        }
                    }
                    ?>

我的 Table 中当前总数的预期输出是

Expected Output: %54.8

测试变量:

VALUE: 38940.00
WEIGHTEDV:21345.00

两者都有一个类型(我将类型更改为 INT -- 结果相同):

DECIMAL(12,2)

实际输出示例(直接出HTMLtable):

65.000000100.0000000.00000050.00000025.000000100.00000050.000000

具有上述输出的当前代码:

    $result = mysqli_query($mysqli,"SELECT (WEIGHTEDV / VALUE)*100 AS Percent
FROM test.service");

这让我很困惑。我确信这是我忽略的简单事情。对于为什么我无法获得简单的 % 值输出的任何帮助,我们将不胜感激。

看来您需要数字格式和正确的 <br />

while($row = mysqli_fetch_row($result)) {
      foreach($row as $cell) {
          echo umber_format($cell, 2, '.', ',')."<br>";
      }
}