0

我想在 clickhouse 中做一个支点我有以下形式的数据

rule_name | result
'string_1', 'result_1'
'string_2', 'result_2'
'string_3', 'result_3'
'string_4', 'result_4'

我想把它转成这样 string_1, string_2 ... 是列,结果应该有 4 列和 1 行(result_1,result_2,result_3,result_4)

string_1 | string_2 | string_3 | string_4
result_1 | result_2 | result_3 | result_4

┌─string_1────┬─string_2─────┬─string_3─────┬─string_4─────┐
│ result_1      result_2        result_3      result_4
└─────────────┴──────────────┴──────────────┴──────────────┘

我该如何做到这一点?

4

1 回答 1

0
select anyIf(result, rule_name = 'string_1') string_1,  
       anyIf(result, rule_name = 'string_2') string_2,
       anyIf(result, rule_name = 'string_3') string_3,
       anyIf(result, rule_name = 'string_4') string_4
       from (
select 'string_1' rule_name, 'result_1' result
union  all select 'string_2', 'result_2'
union  all select 'string_3', 'result_3'
union  all select 'string_4', 'result_4')

┌─string_1─┬─string_2─┬─string_3─┬─string_4─┐
│ result_1 │ result_2 │ result_3 │ result_4 │
└──────────┴──────────┴──────────┴──────────┘
于 2020-06-10T14:50:29.080 回答