Google bigquery BigQuery数组中的最后一行

Google bigquery BigQuery数组中的最后一行,google-bigquery,Google Bigquery,我试图在BigQuery中标记数组的最后一行。我可以选择最后一行,但我不知道如何创建一个新字段,其中最后一行显示“True”,其他所有行显示“False” 到目前为止,这就是我所拥有的,它给出了字段的最后一个值,但将其写回数组中的所有行,这不是我想要的 SELECT ARRAY( SELECT AS STRUCT page_views[SAFE_OFFSET(ARRAY_LENGTH(page_views) -1)].page_view_id AS exit FROM

我试图在BigQuery中标记数组的最后一行。我可以选择最后一行,但我不知道如何创建一个新字段,其中最后一行显示“True”,其他所有行显示“False”

到目前为止,这就是我所拥有的,它给出了字段的最后一个值,但将其写回数组中的所有行,这不是我想要的

SELECT
  ARRAY(
  SELECT
    AS STRUCT page_views[SAFE_OFFSET(ARRAY_LENGTH(page_views) -1)].page_view_id AS exit
  FROM
    UNNEST(page_views)) page_views
FROM
  `project.dataset.sessions`
输出:

我试图添加一个case语句来比较page\u view\u id和exit,但是我无法使case与结构和数组一起工作

预期输出:


以下内容适用于BigQuery标准SQL:

SELECT * REPLACE(
  ARRAY(
    SELECT AS STRUCT e.*, OFFSET = ARRAY_LENGTH(page_view) - 1 AS exit
    FROM UNNEST(page_view) e WITH OFFSET
  ) AS page_view
)
FROM `project.dataset.sessions`   
上述查询保留所有字段,只将
退出
字段添加到
页面视图
数组中

对于您问题中的样本数据,结果将是:

Row id  page_view.page_view_id  page_view.exit   
1   1   1                       false    
        2                       true     
2   2   3                       false    
        4                       false    
        5                       true     
3    3  6                       true