简体   繁体   English

从两个表中获得最高的总和值

[英]Get highest sum value from two tables

Here is my code: 这是我的代码:

$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));

I need to get the highest value of $sum from this loop. 我需要从此循环中获得最高的$ sum值。 Can anyone help? 有人可以帮忙吗?

You can do like this.. take a temporary variable($temp) which can have check upon the sum variable($sum). 您可以这样操作..取一个临时变量($ temp),该变量可以检查sum变量($ 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;

I would advice doing a JOIN instead of performing the sub queries yourself: 我建议做一个JOIN而不是自己执行子查询:

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

The rest should be straightforward in code. 其余的代码应该很简单。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM