簡體   English   中英

如何解決此MySQL查詢?

[英]How can I fix this MySQL query?

我想回答這個問題:從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;

我怎樣才能解決這個問題?

用這個:

SELECT yearID, playerName, 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”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM