mysql - SQL查询以查找击球手在powerplay中的最高击球率(1-6以上)
问题描述
select overs,(sum(batsman_runs)/count(batsman_runs))*100 as Strike_rate,batsman from IPL_BALL_BY_BALL where overs between 1 and 6 group by batsman;
我试过这个有点错误。overs -- 1-20,表名 = IPL_BALL_BY_BALL,batsman_runs = 击球手的跑动,击球手 - 击球手的名字
解决方案
你错过了 group by。仅当您需要每个轮次的罢工率时,您才应该添加轮次。在这种情况下,请试试这个,
select
overs
,batsman
,(sum(batsman_runs)/count(batsman_runs))*100 as Strike_rate
from IPL_BALL_BY_BALL
where overs between 1 and 6
group by overs, batsman;
如果你想为 powerplay 计算这个,那么试试这个,
select
batsman
,(sum(batsman_runs)/count(batsman_runs))*100 as Strike_rate
from IPL_BALL_BY_BALL
where overs between 1 and 6
group by batsman;
推荐阅读
- sql - 对特定模式具有不同权限的 Postgresql 2 用户
- javascript - 在 React 中,为什么渲染方法绑定到组件实例而不是自定义方法?
- java - 如何阻止 Maven 将项目构建 JAR 安装到本地存储库
- sql - 如何使用字符串构建查询获取记录在古吉拉特语中有一个列标题?
- wordpress - Pagenavi 通过多字段搜索 wordpress
- powershell - Azure DevOps 代理上的 PowerShell 存储库问题
- python - 如何更改 x 轴上的数字(matplotlib)
- session - Laravel 7:如何清除 withErrors 会话
- mysql - 我是否允许在 Sequelize 中定义用户和服务器模型之间的多对多和一对多关系?
- java - 无法使用 maven 将类从一个模块导入另一个模块