2010-01-14 69 views
0

我有一個非常複雜的查詢(mysql + php),我想知道除了使用SUM(x)之外,對錶的列和行進行求和的最簡單方法。行和列SUM

也許一個JavaScript可以幫助。 在此先感謝。

+1

JavaScript幾乎可以永遠不會幫助服務器端的東西。 – 2010-01-14 16:14:07

+0

你對'總括**和**行'是什麼意思?你想總結你從數據庫中抓取的每一行的所有字段? – Veger 2010-01-14 16:15:22

+0

SUM(col)'有什麼問題? – kennytm 2010-01-14 16:19:49

回答

0

我會建議在MySQL中使用的SUM()函數。不使用它的唯一原因是如果你有一些基於其他值的複雜計數。然後我會在PHP中進行計數。這裏是一個例子:

$result = mysql_query("... query here ..."); 
$cats = 0; 
$dogs = 0; 
while($row = mysql_fetch_array($result)) 
{ 
    if($row['type'] == 'cat') 
    { 
      $cats++; 
    } 
    else 
    { 
      $dogs++; 
    } 
} 
echo "Cats: $cats Dogs: $dogs"; 
0

我會在查詢本身做到這一點。如果您發佈查詢,我可以提供更多信息。

0

這是查詢,我想總結列和行。 (行是訂購了一年中每個月的增值經銷商「svago」和「LAVORO」,而COLS是全年相同的值)

$q = "SELECT DISTINCT DATE_FORMAT(TIMESTAMP, '%m%Y') AS derp FROM main LIMIT 0 , 30"; 
$qq = mysql_query($q); 

while($res = mysql_fetch_array($qq)) { 

$where = $res['derp']; 

$q = "SELECT timestamp, SUM(moto) + SUM(mary) AS svago, SUM(lavoro) + SUM(affitto) AS lavoro FROM main WHERE DATE_FORMAT(timestamp, '%m%Y') = $where";