php - 求行的平均值

标签 php mysql

我正在尝试查找来自选择的一组结果的平均值:

我已经找到了一行结果的平均值,但我需要找到平均值,但我很难计算行数并进行数学运算。

这是我的 PHP:

<?php
$dansql2 = "SELECT team_members.team_id, team_members.member_id, members.member_id, 
                    members.firstName, members.lastName, members.score_1, members.score_2, 
                    members.score_3, members.score_4, members.score_5, members.score_6, 
                    members.score_7, members.score_8
            FROM team_members 
                JOIN members
                    ON team_members.member_id = members.member_id
            WHERE members.dashboard_id = $dashboard_id 
              AND team_members.team_id = $teamSelect
            ORDER BY members.firstName ASC";


$danresult = $conn->query($dansql2);?>
<?php      
if ($danresult->num_rows > 0) {
    while($row = $danresult->fetch_assoc()) {

        $score1 = $row["score_1"];
        $score2 = $row["score_2"];
        $score3 = $row["score_3"];
        $score4 = $row["score_4"];
        $score5 = $row["score_5"];
        $score6 = $row["score_6"];
        $score7 = $row["score_7"];
        $score8 = $row["score_8"];

        $sum = $score1 + $score2 + $score3 + $score4 + $score5 + $score6 + $score7 + $score8;
        $totalAverage = $sum / 8;

        echo $totalAverage; 
    }
}
?>

所以我需要从 $totalAverage 变量中找到总平均值。这会打印出每行分数的平均值,但我需要增加 $totalAverage

最佳答案

你的意思是这样吗

<?php
$dansql2 = "SELECT team_members.team_id, team_members.member_id, members.member_id, 
                    members.firstName, members.lastName, 
                    members.score_1, members.score_2, 
                    members.score_3, members.score_4, 
                    members.score_5, members.score_6, 
                    members.score_7, members.score_8,
                    (members.score_1 + members.score_2 +
                    members.score_3 + members.score_4 + 
                    members.score_5 + members.score_6 +
                    members.score_7 + members.score_8 ) / 8 as membersAvg
            FROM team_members 
                JOIN members
                    ON team_members.member_id = members.member_id
            WHERE members.dashboard_id = $dashboard_id 
              AND team_members.team_id = $teamSelect
            ORDER BY members.firstName ASC";


$danresult = $conn->query($dansql2);

$allAvg = 0;
while($row = $danresult->fetch_assoc()) {
    $allAvg += $row['membersAvg'];
    echo $row['firstName'] . ' ' .$row['lastName'] . ' Avg = ' . $row['membersAvg']; 
}
echo 'Avg of Avgs = ' . $allAvg / $danresult->num_rows;
?>

关于php - 求行的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41872119/

相关文章:

php - (#322) 主题没有权限标记这张照片 - Facebook PHP SDK v4

php - 为 php 生成文档 block ?

如果没有找到记录,Mysql 计数返回零

mysql - Laravel 如何将多个复选框值保存到 SQL 数据库的不同行中?

php - 如何根据一个 id 列表动态插入多行

javascript - 使用 XMLHttpRequest 在 JS 中写入文件?

php - 已连接页面PHP的mysqli_query连接

php - 如何在没有 PHP 的情况下从 2 个 MySQL 表构建一个新的 MySQL 表

php - 关注/取消关注工具 PHP/mySQL

php - 将不同值存储在一列中时对搜索结果进行分组