2013-03-20 44 views
0

我創建了一個數據庫和網站,供足球經理選擇他們的球隊等。一旦比賽結束,事件將被存儲在match_players表中。這些事件是目標,黃卡,紅卡等我沒有問題從SQL數據庫獲取這些信息到PHP。使用php計算sql查詢中出現的值的次數

我需要合計一個目標出現的次數('1'放在SQL表中)以及什麼團隊可以顯示最終得分。所以,例如,如果A隊有1個進球,B隊有2個,那麼我需要顯示這個進球。我正在計算目標在表格中註冊的次數。任何幫助將不勝感激。

+0

查找到'COUNT'和'GROUP BY':http://dev.mysql.com/doc/refman/5.0/ en/group-by-functions.html#function_count – jeroen 2013-03-20 14:27:42

回答

1

您可以使用MYSQL SUM

select SUM(Goal) from match_players where Team="A" 

或者您也可以通過

select Team,SUM(Goal) from match_players group by Team 
+2

不要忘了GROUP BY – 2013-03-20 14:27:38

+0

謝謝隊長,已經加了:) – 2013-03-20 14:29:25

+0

我也會建議一個日期約束,否則目標會從隊伍每場比賽加起來 – advermark 2013-03-20 14:29:45

0

你爲什麼不直接要求這一筆SQL獲得相同的所有球隊?

SELECT SUM(goals) 
FROM match_table 
WHERE team = 'Barcellona' 

這也應該是遠遠快於在「PHP級」

闡述的所有數據。如果你想這個細節所有球隊

SELECT team,SUM(goals) 
FROM match_table 
GROUP BY team 
0

那麼,如果你每次都存放1一個進球得分,你的牌桌看起來像這樣:

TeamID goal 
    1  1 
    2  1 
    1  1 
    3  1 
    2  1 
    2  1 
    1  1 

所以你只需要多少次一個團隊出現在該表:

select TeamID, count(*) from table group by TeamID 

會給你

TeamID | count(*) 
    1 | 3 
    2 | 3 
    3 | 1