我想回答这个问题:从1962年到2015年,纽约大都会大学的本垒打次数最多。在我的结果中,我想查看玩家的姓名,本垒打的数目和年份。但是在我的成绩中,我得到了错误的球员名称。
这是我得到的结果:
1962年andercr01 34
1963年andercr01 17
1964年altmage01 20
1965年bearnla01 19
等等。
这是我的查询:
SELECT yearID, playerID, MAX(HR) as maxHR
FROM Batting
WHERE teamID='NYN'
GROUP BY yearID;
我怎样才能解决这个问题?
最佳答案
您需要一个join
:
SELECT b.*
FROM Batting b JOIN
(SELECT yearID, teamID, MAX(HR) as maxHR
FROM Batting
WHERE teamID = 'NYN'
GROUP BY yearID, teamId
) bb
ON bb.yearId = b.yearId and bb.teamId = b.teamId and bb.maxHR = b.HR;
注意:这将在两个玩家具有最大
HR
相同年份的年份中提供重复项。另外,我希望纽约大都会队的缩写是“ NYM”,而不是“ NYN”。