BigQuery: 使用LAST_VALUE与ARRAY
创始人
2024-12-12 09:00:28
0

在BigQuery中,你可以使用LAST_VALUE函数与ARRAY_AGG函数结合使用来实现对数组中最后一个元素的访问。以下是一个示例代码:

WITH data AS (
  SELECT 1 AS id, ['apple', 'banana', 'cherry'] AS fruits UNION ALL
  SELECT 2 AS id, ['orange', 'grape', 'mango'] AS fruits
)

SELECT id, fruits, 
  LAST_VALUE(fruit) OVER(PARTITION BY id ORDER BY fruit_index ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS last_fruit
FROM (
  SELECT id, fruits, fruit, ROW_NUMBER() OVER(PARTITION BY id ORDER BY fruit_index DESC) AS fruit_index
  FROM data, UNNEST(fruits) AS fruit WITH OFFSET fruit_index
)
WHERE fruit_index = 1

在这个示例中,我们首先创建了一个名为data的CTE(常表达式),其中包含了两行数据。每行数据包含一个id和一个fruits数组。然后,我们使用UNNEST函数将数组展开,并为每个元素添加一个fruit_index偏移量。接下来,我们使用ROW_NUMBER函数为每个元素分配一个唯一的行号,并根据fruit_index降序进行排序。最后,我们使用LAST_VALUE函数来获取每个id分组中的最后一个元素,通过PARTITION BY idORDER BY fruit_index来定义分组和排序规则。

输出结果将包含每个id的最后一个水果。

相关内容

热门资讯

三分钟私人局规律!约局吧作弊脚... 三分钟私人局规律!约局吧作弊脚本(辅助挂)详细辅助脚本(确实脚本);1、约局吧作弊脚本系统规律教程、...
8分钟透视辅助软件!如何下载德... 8分钟透视辅助软件!如何下载德普之星辅助软件,德普之星透视免费,详细教程(有挂攻略);1、起透看视 ...
七分钟看底牌!pokemmo内... 七分钟看底牌!pokemmo内置修改器,约局吧怎么看有没有挂,详细教程(有挂插件)1、pokemmo...
5分钟设置埋牌!德扑之心免费透... 5分钟设置埋牌!德扑之心免费透视(透视辅助)详细辅助软件(一贯软件)1、进入到德扑之心免费透视黑科技...
五分钟设置!cloudpoke... 五分钟设置!cloudpoker怎么开挂(透视辅助)详细辅助下载(原来下载)在进入辅助挂后,参与本局...
3分钟辅助软件!德普之星私人局... 3分钟辅助软件!德普之星私人局辅助免费,德普之星辅助工具如何打开,详细教程(有挂技巧)1)德普之星私...
1分钟方法!约局吧如何查看是否... 1分钟方法!约局吧如何查看是否有挂,大菠萝免费辅助,详细教程(有挂秘籍)1、操作简单,无需注册,只需...
十分钟app!德普之星有透视辅... 十分钟app!德普之星有透视辅助吗(透视辅助软件)详细辅助教程(本来教程)1、系统规律教程、辅助透视...
二分钟后台操作!大菠萝免费辅助... 二分钟后台操作!大菠萝免费辅助(透视器脚本)详细辅助作弊(其实作弊)大菠萝免费辅助辅助器中分为三种模...
十分钟透视!德扑圈有透视吗(透... 十分钟透视!德扑圈有透视吗(透视辅助)详细辅助器(好像器)1、下载好辅助软件之后点击打开,先需要设置...