這是使用MYSQL 我的問題是以下內容。我有一個棒球數據庫,在那個棒球數據庫中有一個主表,列出了所有曾經玩過的球員。還有一個擊球桌,可以跟蹤每個球員的擊球統計數據。我創造了一個將這兩者結合在一起的觀點;因此masterplusbatting
表。 我現在想從棒球開始的每個十年中找到最高的人力資源擊球手。這是我試過的。SQL Query返回最大值數十年
select f.yearID, truncate(f.yearid/10,0) as decade,f.nameFirst, f.nameLast, f.HR
from (
select yearID, max(HR) as HOMERS
from masterplusbatting group by yearID
)as x inner join masterplusbatting as f on f.yearID = x.yearId and f.HR = x.HOMERS
group by decade
你可以看到,我截斷,以便在yearID得到187, 188, 189
等,而不是1897, 1885,
。然後,我將這十年分組,認爲這會使我每十年中達到最高水平,但它並沒有返回正確的值。例如,它在2004年給了我48位HR的Adrian Beltre,但是大家都知道Barry Bonds在2001年達到了73人。任何人都可以給我一些建議嗎?
您將需要按'十年'分組而不是幾年。這可能是一個數據問題 - 或者你需要在第一個日期做更多的數學計算 – Randy
這是什麼類型的SQL?對於不同的供應商和實施,可用的功能是不同的...... – RBarryYoung
題外話,但'每個人都知道Barry Bonds在2001年達到73人力資源'對我來說似乎相當樂觀(特別是考慮到這裏的觀衆) – MiMo