【发布时间】:2011-10-31 01:39:14
【问题描述】:
我有一个运动追踪器 MySQL 数据库,我正在尝试提取一些统计数据;相关表格概述如下:
游戏
id bigint(20) 无符号 PK
round_id bigint(20)
team_1_id bigint(20) 无符号
team_2_id bigint(20) 无符号
日期日期时间
团队
id bigint(20) 无符号 PK
名称 varchar(128)
播放器(此查询并不真正需要)
id bigint(20) 无符号 PK
名字 varchar(128)
姓氏 varchar(128)
出生日期时间
player_team_game
id bigint(20) 无符号 PK
game_id bigint(20) 无符号
player_id bigint(20) 无符号
team_id bigint(20)
统计数据
id bigint(20) PK
player_team_game_id bigint(20)
踢 int(11)
目标 int(11)
处理 int(11)
目的是确定每支球队在每场比赛中的总踢球次数、进球数和抢断次数。示例结果集可能如下所示:
game.id | game.date | team.name | stats.kicks | stats.goals | stats.tackles
1 | 2011-01-01 | team1 | 25 | 30 | 35
1 | 2011-01-01 | team2 | 26 | 31 | 36
2 | 2011-01-01 | team3 | 27 | 32 | 37
2 | 2011-01-01 | team4 | 28 | 33 | 38
3 | 2011-01-02 | team5 | 29 | 34 | 39
3 | 2011-01-02 | team6 | 30 | 35 | 40
谁能帮助我进行适当的查询?
编辑:可能我没有把问题说清楚;问题是游戏表同时具有 game.team_id_1 和 game.team_id_2,因此分组需要在单独的记录集中反映每个团队的结果。
【问题讨论】:
-
出于好奇 - 我的答案中的 SQL 是否在没有任何修改的情况下为您工作?