例如,我在另一个查询的while循环内的查询中有一个4,8,15,16,23,42的mysql_num_rows结果。我的问题是如何在while循环中获得mysql_num_rows每个结果的百分比?示例:4,8,15,16,23,42。总计108. $ sum = 108.百分比4 = 4 / $ sum = 3.7%,8 = 8 / $ sum = 7.4%等等..
答案 0 :(得分:1)
您可以将所有值存储在数组中,并在从数据库中检索数据后执行计算
例如
$datastore = array();
$total = 0;
while(list($amount) = mysql_fetch_row($result)) {
$datastore[] = $amount;
$total += $amount;
}
foreach ($datastore as $amount) {
echo $amount," - ";
printf("%5.2f", $amount/$total);
echo "\r\n";
}
答案 1 :(得分:0)
$values = array(4, 8, 15, ...);
$sum = array_sum($values);
foreach($values as $value) {
echo ($value / $sum) * 100;
}
答案 2 :(得分:0)
所以你说你想要个人结果之前的$ sum?在提取单个结果之前,您可以执行一个简单的附加查询来获取总和。使用SUM聚合函数。也可能在SQL结果中获得百分比。这意味着稍微复杂的查询,但不是额外的查询。