2012-12-29 40 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 

其餘的應該是代碼簡單。