php - 求和并显示总分

标签 php mysql sql

我有一个包含测验名称和分数的表格

我一直在寻找如何使用 sql 和 php 进行 AVG(Score)。我想不通。我要显示平均分数。所有数据应显示在表格中。

Quiz     Score
Php       88
HTML      76
CCSS      78

Total     80

这是我的代码:

<?php
    $username = "root";
    $password = "";
    $hostname = "localhost";
    $database = "basketball_database";

    $con = mysql_connect($hostname, $username, $password)
        or die("Unable to connect to MYsql");
     //echo "Connected to mysql<br>";

     mysql_select_db("$database")
         or die("Could not select Basketball_database");
     //echo "Connected to database";

     echo "<div align=center>";

    //select from database
    $mysql = "SELECT quiz_name, AVG(score) FROM `thompkins@yahoo.com`";

    $mydata = mysql_query($mysql,$con);

    echo "<h2> Current Athletes </h2>";

    //create table
    echo "<table border=1
        <tr>
            <th>Quiz Name</th>
            <th>Score</th>
        </tr>";

    while($records = mysql_fetch_array($mydata)){
        echo "<tr>";
        echo "<td>".$records['quiz_name']."</td>";
        echo "<td>".$records['score']."</td>";
        echo "</tr>";
    } 


    // I want to display Total Score here
    echo "<tr>";
    echo "<td> Total Score: </td>";
    echo "<td>" . $records['score']. "</td>";
    echo "<tr>";

    echo "</div>";
    echo "</table>";
?>

最佳答案

您需要一个别名

AVG(score) as score 

然后在 PHP 中使用它作为

$records['score']

平均值通常适用于所有列数据或具有多个值的列。

这是一个demo

如果每列只有一个值,即一个测验名称和一个分数,则无需在查询中使用 AVG(),因为它将返回相同的值。

但是,如果您需要集体数据的平均值,您可以对所有数据使用 avg(),如演示中所示,或者可以通过 PHP 代码来完成。

关于php - 求和并显示总分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23328440/

相关文章:

PHP,getenv() 忽略尾随空格

mysql - MySQL 中何时使用单引号、双引号和反引号

php - 如何比较查询中的 MySQL int 值而不获取它

php - Stream_socket_client 无法连接到 Apple APNS(权限被拒绝)

mysql - 要转置的 SQL 查询(某种程度上)

MySQL - 搜索 table1.field 的内容并将其替换为 table2.otherfield 的内容

php - 在自定义表中保存 WooCommerce 订单详细信息

sqlite 将新值插入 View

php - 将表列的数据递增 1 || mysql

php: mysql 数据库连接正常但无法执行查询