Can';无法使用计算列MYSQL获得所需的查询结果

Can';无法使用计算列MYSQL获得所需的查询结果,mysql,Mysql,这个网站的超级粉丝,这是我的第一篇帖子。 我的问题: 我有一个棒球统计数据库中的计算列(BA代表击球平均数)。我试图查询特定球员职业生涯的最高BA,我知道我需要最大聚合函数。我想要的查询结果应该是最高的击球率平均值和球员达到这一点的年份。我已经包含了两行1986年以来的特定玩家统计数据,使用此查询,我希望的查询应该是BA:.200 year:(1986)。 Year Team Lg G PA AB R H 2B 3B HR RBI SB CS BB SO

这个网站的超级粉丝,这是我的第一篇帖子。 我的问题: 我有一个棒球统计数据库中的计算列(BA代表击球平均数)。我试图查询特定球员职业生涯的最高BA,我知道我需要最大聚合函数。我想要的查询结果应该是最高的击球率平均值和球员达到这一点的年份。我已经包含了两行1986年以来的特定玩家统计数据,使用此查询,我希望的查询应该是BA:.200 year:(1986)。

Year    Team    Lg  G   PA  AB  R   H   2B  3B  HR  RBI SB  CS  BB  SO  BA  OBP 

1986    TOR     AL  3   5   5   1   1   0   0   0   0   0   0   0   2  .200 .200    
1987    TOR     AL  4   5   10  1   1   0   0   0   0   0   1   0   4  .100 .100
MySQL代码如下:

SELECT MAX(TRIM(LEADING '0' FROM ROUND(H/AB,3))) as BA, yearID 
FROM mytable WHERE playerID = 'bathruth'
此代码生成正确的最大击球率平均值,但在yearID(球员新秀/处子秀年份)中给出第一个结果


我希望年份(yearID)与最高击球率(最高击球率)在同一排。

啊,是的,巴斯·鲁斯。斯洛什苏丹。伟大的浴缸。我想我遇到的问题是BA列不是从数据库中填充的,它是一个计算列,因此MYSQL不会将其识别为列。问题不是计算列。只要换一列试试,你就会得到同样错误的结果。问题是您使用的
分组方式是
:它会给您一个“年”的随机行。这是预期的结果。看一下我评论中的链接。可能是重复的