Php mysql获取数据库中列的百分比值
我在数据库中有一个表,目前正在使用SELECT语句提取数据,其中来自列意见的信息等于负或正 我还想做的是将正面数据作为总体百分比输出,但不确定这是否可能。我查看了多个溢出问题,但什么都看不到。任何帮助都将不胜感激Php mysql获取数据库中列的百分比值,php,mysql,Php,Mysql,我在数据库中有一个表,目前正在使用SELECT语句提取数据,其中来自列意见的信息等于负或正 我还想做的是将正面数据作为总体百分比输出,但不确定这是否可能。我查看了多个溢出问题,但什么都看不到。任何帮助都将不胜感激 $sql = "select Opinion from survey where Opinion = 'Positive'"; $result = mysqli_query($con, $sql); if (!$result) { die(m
$sql = "select Opinion from survey where Opinion = 'Positive'";
$result = mysqli_query($con, $sql);
if (!$result) {
die(mysqli_error($con));
}
echo "<div style='overflow: auto;'>";
echo "<table width=40% border=1 align=center >
<tr>
<th>Opinion</th>
<th>Date</th>
</tr>";
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo '<tr align=center>';
echo "<td>" . $row['Opinion'] . "</td>";
}
} else {
echo "0 results";
}
?>
像这样的SQL查询
SELECT COUNT(Opinion) / (SELECT COUNT(Opinion) FROM survey) * 100
FROM survey
WHERE Opinion = 'Negative'
查询将计算“积极”意见占“调查”表总行数的百分比:
select (SUM(IF(Opinion = 'Positive',1,0))/count(*))*100 as percentage_positive
from survey
下面的查询可以一次确定每个不同意见的百分比:
select
Opinion,
count(*) as total,
(count(*) / (select count(*) from survey))*100 as percentage
from survey
group by opinion
在Kevin HR的帮助下,我用下面的代码修复了我的问题
$sql = "select Opinion,count(*) as total,(count(*) / (select count(*) from survey))*100 as percentage from survey group by opinion";
$result = mysqli_query($con, $sql);
echo "<div style='overflow: auto;'>";
echo "<table width=40% border=1 align=center >
<tr>
<th>Opinion</th>
<th>Percentage</th>
</tr>";
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo '<tr align=center>';
echo "<td>" . $row['Opinion'] . "</td>";
echo "<td>" . $row['percentage'] . "</td>";
}
}
else {
echo "0 results";
}
用于从数据库中获取行数值的工作代码
$sql = "SELECT * FROM `survey` WHERE Opinion='Positive'";
$connStatus = $con->query($sql);
$numberOfRows = mysqli_num_rows($connStatus);
echo "There are a total number of $numberOfRows Positive rows in the database";
echo "<br>";
echo "<br>";
我不明白你的逻辑,我肯定我记得大约一天以前的这个问题!从那以后你似乎没有更改代码。如果我理解正确,你想获取所有答案,要检查while循环,当前答案是肯定的还是否定的,并对其进行计数++最后将此计数除以mysqli_num_row中的所有可用答案,以获得一个百分比,您当然需要知道有多少个问题得到了回答,有多少个问题得到了肯定的回答,因此您必须做出2按照“从调查中选择COUNTid”和“从调查中选择COUNTid,其中意见为“肯定”的查询,然后对这些查询执行一些简单的数学运算numbers@mitkosoft我试着保持简单。OP问这个问题已经有一段时间了,他们几乎没有或根本没有为自己做任何尝试。我试着回应输出,但没有得到输出就是正确的回应$第[‘意见’]行;echo$counttry echo$行[意见]$行[‘百分比’];现在已解决我的问题非常感谢您的帮助: