sql - 一列的 SQL AVG 值,其中另一列等于特定值
问题描述
我得到了投手、投手类型和投手速度的数据。
|------------------------------------------------|
| day | inning | pitcher| pitch_type| pitch_speed|
| 1 1 AE1 fastball| 97 |
| 1 1 AE1 fastball| 94 |
| 1 1 AE1 slider | 83 |
| 1 2 AE1 fastball| 96 |
| 1 2 AE1 slider | 86 |
| 1 2 AE1 fastball| 97 |
|------------------------------------------------|
有没有办法查询数据以获得特定音高类型的音高速度的平均值。
IE 一种返回 fastball_speed = 96 和 slider_speed = 84.5(平均值)的方法
解决方案
那这个呢?
select pitch_type, avg(pitch_speed) from your_table group by pitch_type
顺便说一句,在指定样本数据时,请使用 CTE 使求解器的工作更轻松:
#standardSql
with t as (
select 1 as day, 1 as inning, 'AE1' as pitcher, 'fastball' as pitch_type, 97 as pitch_speed union all
select 1 as day, 1 as inning, 'AE1' as pitcher, 'fastball' as pitch_type, 94 as pitch_speed union all
select 1 as day, 1 as inning, 'AE1' as pitcher, 'slider' as pitch_type, 83 as pitch_speed union all
select 1 as day, 2 as inning, 'AE1' as pitcher, 'fastball' as pitch_type, 96 as pitch_speed union all
select 1 as day, 2 as inning, 'AE1' as pitcher, 'slider' as pitch_type, 86 as pitch_speed union all
select 1 as day, 2 as inning, 'AE1' as pitcher, 'fastball' as pitch_type, 97 as pitch_speed
)
select pitch_type, avg(pitch_speed) from t group by pitch_type
推荐阅读
- c# - c# File.Exists 总是使用 value 属性返回 false
- ruby-on-rails - 使用遥控器:真
- c# - 协议异常错误
- java - 如何使用光标获取所有联系人并将其存储在字符串中以将它们存储在firebase实时数据库中
- oracle-apex - Oracle APEX: scale image interactive report
- javascript - 将html5画布下载为pdf(safari浏览器)
- c# - AspNet.Core, IdentityServer 4: Unauthorized (401) during websocket handshake with SignalR 1.0 using JWT bearer token
- java - Android Graphview - 追加数据
- vue.js - Vuejs - Chartjs - 将圆环图转换为仪表 - 旋转
- java - Receiving Null while Parsing JSON