2

我正在尝试输出曲棍球运动员的“记分牌”/“排名”列表。我目前有一个这样的 MySQL 表:

统计ID | 匹配ID | 玩家ID | 目标 | 助攻
120 | 2 | 3 | 4 | 1
121 | 2 | 4 | 2 | 2
122 | 3 | 3 | 0 | 3

因此,对于每场比赛,球员都会加上进球和助攻。这意味着每个玩家都有多个条目(几个匹配项)。

所以基本上,有没有一种很好的方法来获取球员数据,总结目标和助攻(+总分)并将其输出到列表中?

现在,我有一个基本查询,只是输出每一行(就我目前的知识而言)。那么我怎样才能只输出每个玩家的一个条目以及他的统计数据呢?

4

2 回答 2

1

您需要使用 group by 子句。

SELECT playerID, SUM(goals + assist) overall points
FROM   table_name
GROUP BY playerID
于 2012-09-17T18:56:43.647 回答
1

这是一种方法:

SELECT t.playerID
     , SUM(t.goals)    AS total_goals
     , SUM(t.assists)  AS total_assists
  FROM sometable t
 GROUP BY t.playerID
 ORDER BY t.playerID

不清楚您对“总分”使用什么计算,如果您只是添加目标和助攻,那么您可以在 SELECT 列表中使用它:

     , SUM(t.goals)+SUM(t.assists)  AS overall_points
于 2012-09-17T18:57:59.167 回答