我在通过 Dremio 公开的镶木地板文件中有许多行,例如:
ID | 数据 |
---|---|
1 | [1.5,8.5,23.004] |
2 | [0.3,4.44, 2.59] |
我想要实现的是一个查询,它将展平数组但给我一个明确的索引,这样我就知道哪一行与数组中的哪个元素有关。我需要这个的原因是因为我有另一个等效表,其中“数据”值表示需要查询并应用于原始数据的调整值。
我正在寻找的是这样的结果:
ID | 数据元素 | 编号 |
---|---|---|
1 | 1.5 | 0 |
1 | 8.5 | 1 |
1 | 23.004 | 2 |
2 | 0.3 | 0 |
2 | 4.44 | 1 |
2 | 2.59 | 2 |
看起来这需要某种窗口函数,如 ROW_NUMBER() OVER(...) 但虽然窗口函数在 Dremio 中可用,但我无法让它工作。
有谁知道:a)在展平时可以引用数组元素的索引吗?b) 使用 flatten 时返回的顺序总是保证与原始数组中的顺序相同?
如果 b) 为真,那么我真的不需要担心 a)。