Clickhouse - выводит каждый элемент массива и его индекс / позицию - PullRequest
0 голосов
/ 19 июня 2020

В Clickhouse у меня есть столбец массива. Могу ли я вывести каждое значение в массиве и его соответствующий индекс / позицию (+1) внутри?

Итак, учитывая ['c', 'b', 'a'], я хотел бы вывести

key        position
c          1
b          2
a          3

1 Ответ

2 голосов
/ 19 июня 2020
select a,i from 
     (select  ['c','b','a'] arr)
      array join arr as a, arrayEnumerate(arr) as i
┌─a─┬─i─┐
│ c │ 1 │
│ b │ 2 │
│ a │ 3 │
└───┴───┘



select  (arrayJoin(arrayZip(arr, arrayEnumerate(arr))) as x).1 a, x.2 i
from 
     (select  ['c','b','a'] arr)
┌─a─┬─i─┐
│ c │ 1 │
│ b │ 2 │
│ a │ 3 │
└───┴───┘     
...