【案例卡】clickhouse:多行数据拼接在一行

一、需求

针对clickhouse数据库中,group by 分组后的字符串字段,拼接处理在一行的问题实现。在mysql中,可以用group_concat()函数来实现,而clickhouse数据库不支持此函数,特此记录实现方式。

二、clickhouse相关函数介绍

1.groupArray:聚合为数组

groupArray 是 ClickHouse 提供的一种聚合函数,用于在 GROUP BY查询中将行组的某个列的值组合成一个数组。groupArray 函数在分析数据时非常有用,它可以将行组中的数据合并成数组形式,方便后续的处理和分析。

2.arrayStringConcat:将数组中的字符串元素连接成一个字符串

arrayStringConcat 函数的语法如下:

sql 复制代码
arrayStringConcat(arr, separator)

其中:

arr:要连接的数组。

separator:连接数组元素的分隔符字符串。

三、案例

以下列数据为例,我们要汇总统一年份,有哪些月份上报了数据,并且存储在一行中,就可以用上述函数来实现。

单纯使用groupArray()样例:

上述两个函数结合实现结果:

相关推荐
lqlj223340 分钟前
Spark SQL 读取 CSV 文件,并将数据写入 MySQL 数据库
数据库·sql·spark
遗憾皆是温柔1 小时前
MyBatis—动态 SQL
java·数据库·ide·sql·mybatis
未来之窗软件服务2 小时前
Cacti 未经身份验证SQL注入漏洞
android·数据库·sql·服务器安全
fengye2071612 小时前
在MYSQL中导入cookbook.sql文件
数据库·mysql·adb
Ailovelearning3 小时前
neo4j框架:ubuntu系统中neo4j安装与使用教程
数据库·neo4j
_星辰大海乀3 小时前
表的设计、聚合函数
java·数据结构·数据库·sql·mysql·数据库开发
未来之窗软件服务4 小时前
solidwors插件 开发————仙盟创梦IDE
前端·javascript·数据库·ide·仙盟创梦ide
yc_12244 小时前
SqlHelper 实现类,支持多数据库,提供异步操作、自动重试、事务、存储过程、分页、缓存等功能。
数据库·c#
Leo.yuan5 小时前
基于地图的数据可视化:解锁地理数据的真正价值
大数据·数据库·信息可视化·数据挖掘·数据分析
好吃的肘子5 小时前
MongoDB入门
数据库·mongodb