有没有办法在BigQuery中添加聚合数组字段的索引列?我正在使用标准的SQL?
我的目标是将hits.hitNumber作为hits.time命令的命中数组中的位置
答案 0 :(得分:3)
下面是BigQuery SQL。正如所要求的 - 它需要原始数组(命中),只是简单地“注入”一个字段(时间)排序的数字(hitNumber),同时删除缺少值或只是不正确的原始hitNumber,这就是你最有可能需要重新计算它的原因。很简单我认为
#standardSQL
SELECT sessionid,
ARRAY(
SELECT AS STRUCT
ROW_NUMBER() OVER(ORDER BY hit.time) hitNumber, hit.* except(hitNumber)
FROM UNNEST(hits) hit
) hits
FROM `project.dataset.table` t