2013-03-20 166 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