Php 如何根据一定的条件计算总和

Php 如何根据一定的条件计算总和,php,mysql,sum,Php,Mysql,Sum,我想根据用户名计算训练时数的总和。但当我使用SUM函数时,它会显示数据库中所有训练时间的总和。有人能帮我吗 <?php include('session.php'); include_once('DB_connect.php'); $UID = $_SESSION['USERID']; if(isset($_POST["USER_NAME"])){ $B_title = strtoupper($_POST["USER_NAME"]);

我想根据用户名计算训练时数的总和。但当我使用SUM函数时,它会显示数据库中所有训练时间的总和。有人能帮我吗

<?php
    include('session.php');
    include_once('DB_connect.php');

    $UID = $_SESSION['USERID'];
    if(isset($_POST["USER_NAME"])){
        $B_title  = strtoupper($_POST["USER_NAME"]);
        $sql = "SELECT 
                TS_ID, TS_DATE, TS_DDATE, TS_HOUR, 
                TRAINING_NAME,TRAINING_HOUR, USER_NAME, 
                SUM(B.TRAINING_HOUR) AS TOTAL

            FROM 
                TRAINING_STATUS TS,
                USER_INFO UI,
                TRAINING B
            WHERE
                TS.TRAINING_ID = B.TRAINING_ID
            AND
                TS.USER_ID = UI.USER_ID
            ";

        include('sql.php');

        if(mysql_num_rows($retval) > 0){}
             print   '<table  align="right" style="width:14%">
                            <tr style="background-color:1AB299">
                                <th>TOTAL TRAINING HOUR </th>
                            </tr>';

                while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
                    print "<tr style='background-color:BCF9EF'>
                                <th>{$row['TOTAL']}</th>
                            </tr>";
                }
    }
?>
正如詹姆斯指出的

将查询更改为:

$sql = "SELECT 
            TS_ID, TS_DATE, TS_DDATE, TS_HOUR, 
            TRAINING_NAME,TRAINING_HOUR, USER_NAME, 
            SUM(B.TRAINING_HOUR) AS TOTAL

        FROM 
            TRAINING_STATUS TS,
            USER_INFO UI,
            TRAINING B
        WHERE
            TS.TRAINING_ID = B.TRAINING_ID
        AND
            TS.USER_ID = UI.USER_ID
        GROUP BY USER_NAME";

发布你尝试过的代码!请尝试按用户名分组,不要使用mysql获取数组。此API已被删除。请尽快升级到PHP7并使用预先准备好的语句。暂时忘掉PHP的东西。相反,请参见“请显示、表结构和示例数据”。@wawahaniee这将为训练表返回任意技术上“不确定”的值。也许我们对“工作”有不同的定义!你能解释一下你的意思吗?