根据 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>";
}
}
我正在尝试从两列中获取总值(我已经这样做了)- 并获取这些值并从中创建一个百分比。在这种情况下,我有一个加权值和一个总值。我需要知道我的加权值占总价值的百分比。
我试过:
$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>";
}
}