2012-05-29 95 views
1

我想在SQL數據庫中總結一些字段。 這些字段被稱爲week1到13周,因爲它們存儲每週的結果。 我目前有這個,但它不輸出任何東西,任何幫助將不勝感激。乾杯總計SQL字段在一起總的結果

<?php 
      if ($resultsRows == 0){ 
      echo '<p> No results have been listed for you yet. </p>'; 
      } 
      if ($resultsRows > 0){    
      $qrytotalresult = "SELECT SUM(week1 + week2 + week3 + week4 + week5 + week6 + week7 + week8 + week9 + week10 + week11 + week12 + week13) FROM results WHERE username = '$username'"; 
      $TotalResult = mysql_query($qrytotalresult); 
      return $TotalResult; 

      } 
     ?> 
+0

SQL這裏並不是唯一的問題 - 的mysql_query不返回值。你必須使用mysql_fetch_array()來獲取它。 – MarcinJuraszek

+0

$ result = mysql_fetch_array($ query); \t \t \t echo $ result; 我現在補充說,爲搶和打印 - 只是現在它打印的字陣.. – user1371500

回答

0
SELECT SUM(week1) + SUM(week2) + SUM(week3) + SUM(week4) + SUM(week5) + 
     SUM(week6) + SUM(week7) + SUM(week8) + SUM(week9) + SUM(week10) + 
     SUM(week11) + SUM(week12) + SUM(week13) 
FROM results 
WHERE username = '$username' 
group by username 

這應該做的伎倆。 (假設:對於每一個用戶的多個行。如果每個用戶都擁有比SUM函數和GROUP BY子句中只有一行可以省略。)

+0

我現在有這個雖然當我回到正在顯示什麼,如果我回應,我得到資源ID#4 – user1371500

+0

作爲事實上,'GROUP BY'可因爲您只是爲單個用戶檢索行,因此省略了這兩種方法。 –

+0

什麼會導致它不被打印出來? – user1371500

0
SELECT week1 + week2 + week3 + week4 + week5 + week6 + week7 + week8 + week9 + 
week10 + week11 + week12 + week13 as sumweeks 
FROM results WHERE username = '$username' 

就足以

2

SUM()是一個聚合函數,用於添加行。要添加列,只需使用+,但請注意,如果任何列爲NULL,則可能無法獲得預期的結果。

SELECT IFNULL(week1, 0) + IFNULL(week2, 0) + IFNULL(week3, 0) AS sumweeks //etc