Mysql 使用数据表对SQL查询进行分组和计数
我正在使用SQL查询棒球统计数据 我可以做一个查询,返回个人的表现刚刚好。下面的示例查找Roger Clemens出现并记录了三振Mysql 使用数据表对SQL查询进行分组和计数,mysql,sql,Mysql,Sql,我正在使用SQL查询棒球统计数据 我可以做一个查询,返回个人的表现刚刚好。下面的示例查找Roger Clemens出现并记录了三振事件的所有游戏GAME\u ID。每个事件在数据库中都是自己的一行,所以我将删除事件分组并统计 SELECT `GAME_ID` AS 'Game',`PIT_ID` AS 'Pitcher',COUNT(*) AS 'Strikeouts' FROM `events` WHERE `PIT_ID` = 'clemr001' AND `EVENT_CD` = '3
事件的所有游戏GAME\u ID
。每个事件在数据库中都是自己的一行,所以我将删除事件分组并统计
SELECT `GAME_ID` AS 'Game',`PIT_ID` AS 'Pitcher',COUNT(*) AS 'Strikeouts'
FROM `events`
WHERE `PIT_ID` = 'clemr001'
AND `EVENT_CD` = '3'
GROUP BY `GAME_ID`
ORDER BY COUNT(*) DESC;
结果是这样的:
Game Pitcher Strikeouts
DET199609180 clemr001 20
BOS198604290 clemr001 20
TOR199808250 clemr001 18
etc...
我的问题是创建一个SQL查询,它将返回每场比赛中每个投手的三振次数
首选结果如下表所示,其中结果按比赛分组,但每个投手的投球表现都使用三振事件代码计算
Game Pitcher Strikeouts
DET199609180 clemr001 20
DET199609180 bluev001 19
DET199609180 peavj001 2
NYN196405312 rheij001 9
NYN196405312 garcj004 5
NYN196405312 wilsd102 3
基本上是这样的
以下代码应选择所有游戏、投手和三振,按游戏id分组并按三振排序
SELECT `GAME_ID` AS 'Game',`PIT_ID` AS 'Pitcher',COUNT(*) AS 'Strikeouts'
FROM `events`
WHERE `EVENT_CD` = '3'
GROUP BY `GAME_ID`, `PIT_ID`
ORDER BY COUNT(*) DESC;
基本上是这样的
以下代码应选择所有游戏、投手和三振,按游戏id分组并按三振排序
SELECT `GAME_ID` AS 'Game',`PIT_ID` AS 'Pitcher',COUNT(*) AS 'Strikeouts'
FROM `events`
WHERE `EVENT_CD` = '3'
GROUP BY `GAME_ID`, `PIT_ID`
ORDER BY COUNT(*) DESC;
你只需要:
GROUP BY `GAME_ID`, `PIT_ID`
你只需要:
GROUP BY `GAME_ID`, `PIT_ID`
我刚通知你编辑了你的问题。。会更新的。是的,肯定是这样的。唯一的问题是,查询将返回一个“展平”结果,只返回一个投手。我刚刚通知您编辑了您的问题。。会更新的。是的,肯定是这样的。唯一的问题是,查询将返回一个“展平”结果,只返回一个投手。