这是使用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