【发布时间】:2022-02-19 02:33:27
【问题描述】:
我在 BQ 中有一张桌子,如下所示:
date rate
02/02/22 null
02/01/22 null
01/31/22 1
01/30/22 1.5
01/29/22 0.5
我想创建avg_rate 列。我尝试了简单的平均值计算,但因为我有一个 group by 语句——它将空值分配给 avg_rate 列。我需要每个比率为空的日期来获取所有非空的比率总和并除以行数(对于那些比率不为空的)并将这个数字分配给每个日期。
这是我的查询:
SELECT
date,
SUM(rate) / COUNT(*) AS avg_rate
FROM
`my_table`
GROUP BY
1
我得到的输出:
date avg_rate
02/02/22 null
02/01/22 null
01/31/22 1
01/30/22 1.5
01/29/22 0.5
期望的输出是:
date avg_rate
02/02/22 1
02/01/22 1
01/31/22 1
01/30/22 1.5
01/29/22 0.5
【问题讨论】:
-
2.66666从何而来?
-
嗯,这是我拥有的这三个值的平均值。公式在查询中。
-
我在计算中又添加了一个日期,现在已在问题中修复。谢谢!
标签: sql date google-bigquery average group