groupConcat
首次引入于:v24.8.0
从一组字符串中计算得到一个拼接而成的字符串,可选地使用分隔符分隔,也可选地限制最大元素数量。
语法
groupConcat[(delimiter [, limit])](expression)别名: group_concat, string_agg
参数
delimiter— 用于分隔拼接值的字符串。此参数为可选;如果未指定,默认为空字符串。Stringlimit— 指定要拼接的最大元素数量的正整数。如果元素数量超过该值,则会忽略多余元素。此参数为可选。UInt*
参数列表
expression— 输出待拼接字符串的表达式或列名。Stringdelimiter— 用于分隔拼接值的字符串。此参数为可选;如果未指定,则默认为空字符串,或使用参数中指定的 delimiter。String
返回值
返回一个由列或表达式的值拼接而成的字符串。如果组中没有元素,或仅包含 NULL 元素,且函数未指定仅包含 NULL 值时的处理方式,则结果为值为 NULL 的可空字符串。String
示例
不使用分隔符的基本用法
CREATE TABLE Employees (Name String) ENGINE = Memory;
INSERT INTO Employees VALUES ('John'), ('Jane'), ('Bob');
SELECT groupConcat(Name) FROM Employees;JohnJaneBob以逗号作为分隔符 (参数语法)
SELECT groupConcat(', ')(Name) FROM Employees;John, Jane, Bob以逗号作为分隔符 (实参语法)
SELECT groupConcat(Name, ', ') FROM Employees;John, Jane, Bob限制拼接元素的数量
SELECT groupConcat(', ', 2)(Name) FROM Employees;John, Jane