Google bigquery BigQuery数组中的最后一行
我试图在BigQuery中标记数组的最后一行。我可以选择最后一行,但我不知道如何创建一个新字段,其中最后一行显示“True”,其他所有行显示“False” 到目前为止,这就是我所拥有的,它给出了字段的最后一个值,但将其写回数组中的所有行,这不是我想要的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
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