【问题标题】:Count how many times a value appears in sql query using php使用php计算一个值在sql查询中出现的次数
【发布时间】:2013-03-20 14:25:07
【问题描述】:

我创建了一个数据库和网站,足球经理将使用它来选择他们的球队等。一旦比赛完成,事件将存储在match_players 表中。此类事件是目标、黄牌、红牌等。我可以毫无问题地将这些信息从 SQL db 导入 php。

我需要将 Goal 出现的次数(在 SQL 表中放置一个“1”)和哪个团队加起来,以便显示最终得分。因此,例如,如果 A 队有 1 个目标,B 队有 2 个,那么我需要显示它。我正在尝试计算目标在表中注册的次数。任何帮助将不胜感激。

【问题讨论】:

标签: php sql


【解决方案1】:

你可以使用MYSQLSUM

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

或者您可以通过以下方式为所有团队获得相同的结果

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

【讨论】:

  • 不要忘记 GROUP BY
  • 我还建议限制日期,否则球队每场比赛的进球数都会累加
【解决方案2】:

为什么不直接向 SQL 索取这笔款项?

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

这也应该比在“php 级别”详细说明所有数据要快得多

如果您想为所有团队提供此详细信息

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

【讨论】:

    【解决方案3】:

    如果您在每次进球时存储一个 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多