如何从MySQL表中获取百分比?

时间:2015-09-23 06:48:16

标签: php mysql

$getKills = mysqli_query($connection, "SELECT * FROM Kills");
$getMurderer = mysqli_query($connection, "SELECT * FROM Kills WHERE Killer='$getUser->Username'");
$numKills = mysqli_num_rows($getKills);
$numKiller = mysqli_num_rows($getMurderer);

我如何获得玩家从所有玩家中获得多少杀人的百分比?

e.g。如果记录了20次杀戮,并且玩家只获得6次,则会说

玩家有30%被淘汰$ numKills

3 个答案:

答案 0 :(得分:0)

试试这个

$getKills = mysqli_query($connection, "SELECT * FROM Kills");
$getMurderer = mysqli_query($connection, "SELECT * FROM Kills WHERE Killer='$getUser->Username'");

$getKillsCount = count($getKills);
$getMurdererCount = count($getMurderer);

if(empty($getKillsCount) || empty($getMurdererCount))
{
    echo 'One of Count is Empty';
}
else
{
    $precentage = ($getKillsCount/$getMurdererCount)*100;
    echo $precentage;
}

答案 1 :(得分:0)

通常,你可以这样做:

SELECT table.*, COUNT(*) / Table.total * 100

或者只是使用PHP并进行数学运算:

$percentage = ($playerKills / $allKills) * 100;

答案 2 :(得分:0)

试试这个,

    SELECT 
              CONCAT(
                      ROUND(COUNT(*) /
                           (SELECT COUNT(*) FROM Kills)*100,2)
                     ,'%') 
            AS pcr_kills,
              (SELECT COUNT(*) FROM Kills) 
            AS tot_kills
    FROM 
            Kills 
    WHERE 
            Killer='$getUser->Username';

但是,建议在应用程序端执行此过程!如果<服务器将会有无用的负担。杀死>表太大了。