sql - BigQuery AVG 按小时计算
问题描述
我有一个 float64 类型的列作为 tt_time 值,以每行 20.15 分钟为单位。
尝试按小时计算 avg(tt_time) 时出现类型转换错误。
参数类型的聚合函数 AVG 没有匹配的签名:INT64、INT64。支持的签名:AVG(INT64);平均(浮动64);平均(数字);AVG(BIGNUMERIC) 在 [3:10]
解决方案
如果我理解正确,您需要这样做:
SELECT
TIME_TRUNC(actual_time, HOUR) as hourly,
Avg(POWER(TIME_DIFF(act_time, prom_time, HOUR), 2)) as avg_mse
FROM `bianalysis.bq_bi.orders`
group by TIME_TRUNC(actual_time, HOUR)
推荐阅读
- java - 当我在 sts 中创建 web 启动项目时,它在 pom 和 java 文件中显示错误
- c++11 - 想要定义具有相同前缀的宏列表
- php - 无法使用 PHP 按相同键对 json 对象进行排序
- ios - 我的 .ipa 中的“符号文件太多”但 dSYM 文件丢失
- google-apps-script - 我正在制作一个脚本来更新谷歌表格中的最后更新列,但我有各种表格用于添加条目
- node.js - 在mongodb中过滤2个数组后如何获取文档?
- excel - Excel VBA - Application.Visible = False 不工作
- sql - 如何将其转换为 laravel
- go - (*SomeStruct)(nil) 是什么意思?
- swift - 将动画覆盖添加到 UIImage 并保存为视频到相机胶卷