我在 Derby 中形成了以下查询,以计算所有棒球运动员的拍击率...
SELECT p1.nameFirst as "First",
p1.nameLast as "Last",
(b1.H + (2 * b1.doubles) + (3 * b1.triples) + (4 * b1.HR)) / (b1.AB * 1.0) as "SLUGGING"
FROM Batting b1 join Players p1 on b1.playerID = p1.playerID
WHERE AB >= 400;
它会产生所有击球手达到或超过400的击球手,并计算击球率。我的问题是,我只需要选择击球百分比最高的一名球员即可。我尝试用SELECT MAX包围数学块,但无济于事。我想要的输出是...
何塞·包蒂斯塔0.7426900584795321637426900
另外,有什么办法可以将小数格式化为一定数量的数字?任何建议表示赞赏。
最佳答案
将ORDER BY SLUGGING DESC LIMIT 1
添加到您的查询中,您应该得到最高的结果。
编辑:
看来Derby不支持限制返回的行数。那么最好的方法可能是创建一个具有最大拍击结果的子选择,然后将其与该选择一起加入以打印playerId。
关于sql - 如何选择MAX SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9693307/