繁体   English   中英

从 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";
                        }
                    }
                    ?>

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

Expected Output: %54.8

测试变量:

VALUE: 38940.00
WEIGHTEDV:21345.00

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

DECIMAL(12,2)

实际输出示例(直接从 HTML 表中输出):

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>";
      }
}

暂无
暂无

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

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