显示两个 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>";
}
?>

我想做的是在我的 table 的最后一列中显示 total/target 的百分比。不确定最好的方法是什么,并且很想听听一些想法。

我确实尝试过在回显中像 total/target 那样做,但认为它可能需要更早地作为变量或其他东西进行评估?不管我怎么试都没用...

看过这个但不确定如何在我的场景中实现它 -

这是逻辑 ((cast("A/B" 作为浮点数)/"C") * 100.00) AS "D%" 所有值都必须是整数,当您将它们相除时,它必须转换为浮点数,以便计算正确。 希望对你有用。

试试这个,

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