在 Big Query 中,我们可以使用 UNNEST 函数将数组列展开为行,以便于进行分析和处理。例如:
SELECT id, names FROM my_table, UNNEST(names) AS name WHERE name = 'John';
上述代码中,我们将名字数组列 names 展开为行,然后筛选出了名字为 John 的记录。此时,id 列将有多个重复值,每个重复值代表一个名字为 John 的记录。
除了在 WHERE 子句中使用 UNNEST 处理数组列,我们还可以使用其他的聚合函数进行处理,例如:
SELECT id, MAX(value) AS max_value FROM my_table, UNNEST(values) AS value GROUP BY id;
上述代码中,我们将值数组列 values 展开为行,并按照 id 分组,在同一组中计算最大值,并将其命名为 max_value。
使用 UNNEST 函数可以更灵活地处理 Big Query 中的数组列,以满足不同的业务需求。