我有一个从MLB gameday XML feed抓取的逐局数据数据库。你知道吗
我希望能够得到一份打击平均数和其他统计数据的清单,但我被卡住了。你知道吗
我有一个事件表(每个在bat),它的设置如下
`event_id` int(15) NOT NULL AUTO_INCREMENT,
`game_id` int(8) NOT NULL,
`batter` int(8) NOT NULL,
`pitcher` int(8) NOT NULL,
`inning` int(3) NOT NULL,
`event` varchar(25) NOT NULL,
`outs` int(1) NOT NULL,
`rbi` int(1) NOT NULL,
`home_runs` int(3) NOT NULL,
`away_runs` int(3) NOT NULL,
`batting_team` int(3) NOT NULL,
`b1` int(6) NOT NULL,
`b2` int(6) NOT NULL,
`b3` int(6) NOT NULL,
`pitch_detail` varchar(200) NOT NULL,
PRIMARY KEY (`event_id`)
和一个players表,它只保存player\u id、first\u name、last\u name和team\u id的记录
我的SQL语言非常有限,而且只有
SELECT players.first_name, players.last_name, count(events.event), events.event
FROM mlb.events
JOIN mlb.players
ON mlb.players.player_id = mlb.events.batter
WHERE team_id = %s
GROUP BY events.batter, events.event
ORDER BY mlb.events.batter, events.event
这将返回如下列表
('Henry', 'Blanco', 3L, 'Flyout')
('Henry', 'Blanco', 4L, 'Groundout')
('Henry', 'Blanco', 4L, 'Single')
('Henry', 'Blanco', 5L, 'Strikeout')
为每个玩家。你知道吗
我可以将其提取到python中并使其可用,但我认为一定有我可以编写的SQL可以为我做到这一点。我需要计算命中率/(出局+命中率)来给我他的平均值。我想要的是如下。你知道吗
('Henry', 'Blanco', 0.285)
举个简单的例子,我们只需要说唯一的出局是飞人,地滚球,三振,安打是单打,双打,三振和本垒打。你知道吗
非常感谢任何帮助或指导。你知道吗
我建议创建另一个包含事件的表,以及它们是用完还是用完。然后你就可以加入桌子了。你知道吗
但即使不这样做,您也可以这样编写查询:
相关问题 更多 >
编程相关推荐