显示来自两个sql列的百分比


Display percentage from two sql columns

这是我一直在使用的一小段代码。

<?php
$rank = 0;
$rank = 0;
$sql = mysql_query("SELECT m.memberID, username,email,target,type, ifnull(t.total,0) as total, ifnull(m.total,0) as totalp FROM `members` as m 
left join (
select s.memberID, sum(amount) total  from sponsors as s group by s.memberID
) t on t.memberid = m.memberid
left join (
select s.memberID, sum(amount) total  from sponsors as s group by s.memberID
) p on p.memberid = m.memberid Where type= 'business'
ORDER BY t.total DESC, p.total DESC, username ASC");
while($row = mysql_fetch_object($sql)) 
{
    echo "<tr>";
        $rank = $rank + 1;
        echo "<td><center>$rank</center></td>";
        echo "<td>$row->username</td>";
        echo "<td>$row->total</td>";
        echo "<td>$row->target</td>";
        echo "<td>$row->here i want percentage</td>";
    echo "</tr>";
}
?>

我想做的是在表的最后一列中显示total/target的百分比。我不知道最好的方法是什么,我很想听到一些想法。

我确实尝试过这样做,就像总/目标在回声中,但认为它可能需要作为一个变量或其他东西进行评估?不管我怎么试都没用……

看了这个,但不确定如何在我的场景中实现它- MSSQL显示百分比从两列计算

试试这个,

 <?php
    $rank = 0;
    $rank = 0;
    $sql = mysql_query("SELECT m.memberID, username,email,target,type, ifnull(t.total,0) as total, ifnull(m.total,0) as totalp, (ifnull(t.total,0)/target)*100 as present FROM `members` as m 
    left join (
    select s.memberID, sum(amount) total  from sponsors as s group by s.memberID
    ) t on t.memberid = m.memberid
    left join (
    select s.memberID, sum(amount) total  from sponsors as s group by s.memberID
    ) p on p.memberid = m.memberid Where type= 'business'
    ORDER BY t.total DESC, p.total DESC, username ASC");
    while($row = mysql_fetch_object($sql)) 
    {
        echo "<tr>";
            $rank = $rank + 1;
            echo "<td><center>$rank</center></td>";
            echo "<td>$row->username</td>";
            echo "<td>$row->total</td>";
            echo "<td>$row->target</td>";
            echo "<td>$row->present</td>";
        echo "</tr>";
    }
    ?>

逻辑如下((将"A/B"转换为浮点数)/"C")* 100.00)为"D%"所有的值必须是整数,当你除它们时,它必须转换为浮点数,这样计算才能正确进行。