clickhouse 行列转换

  • Post author:
  • Post category:其他


一、多列转成多行


https://www.cnblogs.com/thxj/p/12722998.html

分3个步骤:

  1. 先把多个列拼接成一列 t: concat(‘1′,’_’, m1,’:’ ‘2’,’_’,’m2′) as t

  1. 再将t 列切分成一个数组,通过 splitByChar(‘:’,cast( tmp as String)) as src

  1. 将数组的每个元素都拆分成多个行值:arrayJoin(splitByChar(‘:’,cast( tmp as String)) as src)

二、多行转成多列


sumIf(value, key_name = ‘guidance’) AS guidance,


sumIf(value, key_name = ‘budget’) AS budget,


sumIf(value, key_name = ‘reality’) AS ytd,



版权声明:本文为u010738184原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。