当关系数据库中的列A相同时,如何对列B进行总计

时间:2013-12-07 03:21:41

标签: php mysql relational-database

我有两个数据库,其中包含一个包含所有“作业”的Comm_Jobs数据库和一个跟踪每个作业花费的小时数的Time_Tracker数据库。我有数据库加入,但我如何合并结果,所以每个“工作”有1个条目,以及在该工作上花费的总时间。

我完全迷失了,无法将我的大脑包裹起来。这是我现在的代码,我们将非常感谢任何帮助。

    <?
  include('includes/connectTOdb.php');
 $sql = 'SELECT a.Project, a.Total_Time, b.id, b.Project_Name, c.id, c.First_Name, c.Last_Name
        FROM Time_Tracker a, Comm_Jobs b, Employees c
        WHERE a.Project = b.id';

mysql_select_db('MYDATABASE');
$retval = mysql_query( $sql);
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
    echo "Project:{$row['Project_Name']}  <br> ".
         "Total Time: {$row['Total_Time']} <br> ".
         "Employee: {$row['Last_Name']}, {$row['First_Name']} <br> <br>".
         "--------------------------------<br><br>";
} 
echo "Fetched data successfully\n";
?>

1 个答案:

答案 0 :(得分:0)

您可以使用JOINGROUP BY来正确SUM()您想要的字段:

SELECT SUM(a.Total_Time) as Time_Sum, b.Project_Name
FROM Time_Tracker a
JOIN Comm_Jobs b ON a.Project = b.id
GROUP BY a.Project;