2012-12-29 39 views
1

获得最高和值这里是我的代码:从2个表

$query1 = "select user, sum(column) as total1 from table1 GROUP BY user"; 
$result = mysql_query(query1); 
$row_query1 = mysql_fech_assoc($result); 

do{ 
    $user = $row_query1['user']; 
    $query2 = "select names, sum(column1) as total2 from table2 WHERE names ='$user' GROUP BY names"; 
    $result2 = mysql_query($query2); 
    $row_query2 = mysql_fetch_assoc($result2); 
    $sum = $row_query1['total1'] + $row_query2['total1']; 
    <tr> <?php echo $sum; ?></tr> 
}while($row_query1 = mysql_fech_assoc($result)); 

我需要从这个循环得到$总和的最高值。谁能帮忙?

+0

它工作吗?检查此内部循环 - “<?php echo $ sum;?>” –

+1

欢迎来到Stack Overflow! [**请不要在新代码中使用'mysql_ *'函数**](http://bit.ly/phpmsql)。他们不再被维护[并被正式弃用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。如果你选择PDO,[这里是一个很好的教程](http://j.mp/PoWehJ)。 –

回答

0

你可以这样做..拿一个临时变量($ temp)来检查总和变量($ sum)。

 $query1 = "select user, sum(column) as total1 from table1 GROUP BY user"; 
    $result = mysql_query(query1); 
    $row_query1 = mysql_fech_assoc($result); 
    $temp = 0; 

    do{ 

    $user = $row_query1['user']; 

    $query2 = "select names, sum(column1) as total2 from table2 WHERE names ='$user' GROUP BY names"; 
    $result2 = mysql_query($query2); 
    $row_query2 = mysql_fetch_assoc($result2); 

    $sum = $row_query1['total1'] + $row_query2['total1']; 

    if($temp < $sum) 
    $temp = sum; 

    echo "<tr>$sum</tr>"; 

    }while($row_query1 = mysql_fech_assoc($result)); 
    echo "maximum sum :".$temp; 
+0

谢谢。它非常完美! – rain

0

我会建议做一个JOIN,而不是执行的子查询自己:

select user, sum(column) + sum(column1) as total 
from table1 
INNER JOIN table2 ON names = user 
GROUP BY user 

其余的应该是代码简单。