clickhouse函数数组实践
一个字段值按照一个标记拆分成数组,然后用函数从数组中获取数据
如果依赖java程序解析字段,字段一般存json,如果依赖sql解析一般字段存a|b|c标识分割,用函数变成数组获取
原始数据:
用|分割--不会丢失行
统计:哪个库导出指标量,库属于哪个部分
SELECT "所属部分","所属库",
COUNT(
"指标代码"
)
FROM
(SELECT arrayElement(splitByChar('|',event_property_value),1) as "指标代码", arrayElement(splitByChar('|',event_property_value),2) as "指标名", arrayElement(splitByChar('|',event_property_value),3) as "所属库", arrayElement(splitByChar('|',event_property_value),4) as "所属部分" FROM cms.daily_new_clientrpt_slave WHERE event_property_code != '' AND event_property_code='101101000800016006' ORDER BY day DESC) T GROUP BY "所属库","所属部分"
效果图:
关于多级分组 group by "所属库","所属部分" ---前面的是一级分组,一级分组相同才按二级分组,如果一级分组已是最细,二级分组只是一个值而已