有没有办法过滤presto数组中的奇数或偶数索引?



>我有一个presto数组,无论数组中的值是什么,我都需要过滤掉奇数索引。

数组 = ['否', '物质', '什么', '是, '这里']

期望的结果 = ['物质', '是']

我已经尝试了很多不同的序列变体(2,基数(数组),2),但似乎没有任何效果。

我最终用我创建的索引数组压缩了数组

zip(ar, sequence(1, cardinality(ar), 1))

然后我在x -> x[2]%2=0上过滤了x[2],只选择了x -> x[1]TRANSFORM。

不同地方的其他一些建议是使用序数取消嵌套,过滤序数列,然后聚合回来。

另一种方法 - 生成仅需要的索引序列(对于偶数索引 - 从 2 开始并将步骤设置为 2)并在其上使用transform

WITH dataset(arr) AS ( values (array[1,2,3,4,5]) )
SELECT transform(sequence(2, cardinality(arr), 2), i -> arr[i])
FROM dataset 

输出:

_col0
[2, 4]

相关内容

  • 没有找到相关文章

最新更新