ClickHouse 元组到列
Posted
技术标签:
【中文标题】ClickHouse 元组到列【英文标题】:ClickHouse Tuple to columns 【发布时间】:2019-10-15 12:15:07 【问题描述】:是否可以在 ClickHouse 中将元组转换为列?
SELECT tuple(1,'a')
给了
| tuple(1,'a') |
–-|--------------|
0 | (1,'a') |
如何将其转化为两列的结果?
| 0 | 1 |
–-|---------|
0 | 1 | 'a' |
【问题讨论】:
【参考方案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)
?以上是关于ClickHouse 元组到列的主要内容,如果未能解决你的问题,请参考以下文章
ClickHouse 实战:ClickHouse 高级数据类型极简教程
《ClickHouse企业级应用:入门进阶与实战》4 ClickHouse高级数据类型