【问题标题】:ClickHouse Tuple to columnsClickHouse 元组到列
【发布时间】:2019-10-15 12:15:07
【问题描述】:

是否可以在 ClickHouse 中将元组转换为列?

SELECT tuple(1,'a')给了

  | tuple(1,'a') |
–-|--------------|
0 | (1,'a')      |

如何将其转化为两列的结果?

  | 0 | 1   |
–-|---------|
0 | 1 | 'a' |

【问题讨论】:

    标签: clickhouse


    【解决方案1】:

    (1, 'a').1 .tuple_element_index 或函数 tupleElement

    SELECT
        (1, 'a').1,
        (1, 'a').2
    
    /*
    ┌─tupleElement(tuple(1, 'a'), 1)─┬─tupleElement(tuple(1, 'a'), 2)─┐
    │                              1 │ a                              │
    └────────────────────────────────┴────────────────────────────────┘
    */
    

    【讨论】:

    • 所以没有办法自动展开?考虑到所有元组都有相同数量的元素。
    • 在现代 CH 中可以使用 untuple 来完成。 SELECT untuple((1, 'a'))
    • 知道如何在使用utuple((val * 8 / 300)) 时将列名设为数字而不是divide(multiply(val, 8), 300)
    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    • 2019-07-15
    • 2021-04-04
    • 2019-07-20
    相关资源
    最近更新 更多