如何在 BigQuery 中查找数组中元素的索引

How to find the index of an element in an Array in BigQuery

是否可以在 BigQuery 中找到数组中元素的索引?

想法是找到一个元素的索引以获取下一行中的不同元素。

因此,例如,对于这种情况,我需要找到 'status2' 的索引以获取 status2 之后状态的相应进入日期,即“2021-03-20”。

问题是,状态可能会从 status2 跳到 status4 或 status5 等等,所以我不知道下一个状态是什么,但我知道我需要的日期永远是之后的日期状态 2.

有没有办法在查询中做到这一点?

您可以为此使用 OFFSET,如下例所示

select element, date, status
from your_table t, 
t.status status with offset as offset1
left join t.entered_date date with offset as offset2
on offset1 + 1 = offset2
where status = 'status2'    

如果应用于您问题中的示例数据 - 输出为

希望您能将上述技术应用于您拥有的任何具体用例