sql - 如何选择MAX SQL

标签 sql derby

我在 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/

相关文章:

sql - SQL Server AlwaysOn 中的脏读

java - 将 WHERE NOT EXISTS 与虚拟表一起使用不适用于 Apache Derby 数据库

Hibernate4 + c3p0 + Derby - Tomcat 停止或 Web 应用程序重新加载时发生内存泄漏

javac:包 org.apache.derby.client.am 不存在

SQL复杂查询

sql - sql中的'for all'查询

java - Derby 嵌入式数据库创建表结构

websphere - 无需完全重新安装即可重建 IBM Portal 嵌入式 Derby 数据库

php - 使用 mysql_fetch_array 将记录彼此相邻地放入列中?

c# - 如何根据相关集合中实体的值进行过滤?