首页 > 解决方案 > BigQuery AVG 按小时计算

问题描述

我有一个 float64 类型的列作为 tt_time 值,以每行 20.15 分钟为单位。

尝试按小时计算 avg(tt_time) 时出现类型转换错误。

参数类型的聚合函数 AVG 没有匹配的签名:INT64、INT64。支持的签名:AVG(INT64);平均(浮动64);平均(数字);AVG(BIGNUMERIC) 在 [3:10]

标签: sqlgoogle-bigquery

解决方案


如果我理解正确,您需要这样做:

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)
    

推荐阅读