我想知道哪种方法是在 BigQuery 中取消嵌套使用 ARRAY_AGG 生成的数组的最快方法,假设我只想在数组的分区上取一个元素。让我试着更好地解释它
假设我有这个:
with (
select a, ARRAY_AGG(struct(time, value) order by time) as b
group by a
) tbl
假设我只想选择数组的一个元素,特别是数组的最后一个元素(最近时间的那个,因为数组是有序的)。即,以此结尾(其中 time 和 value 假定数组的最后一个元素的值,如上所述):
a | time | value
--+------+------
当然,我可以 unnest(b) 并创建一个分区,但这意味着额外的传递到表中。
有没有办法一次性做到这一点?