groupConcat
计算一组字符串的连接字符串,可以选择使用分隔符分隔,并可以选择限制元素的最大数量。
语法
groupConcat[(delimiter [, limit])](expression);
参数
expression
— 输出要连接的字符串的表达式或列名。delimiter
— 将用于分隔连接值的字符串。此参数是可选的,如果未指定,则默认为空字符串。limit
— 一个正整数,指定要连接的最大元素数。如果存在更多元素,则会忽略多余的元素。此参数是可选的。
注意
如果在没有 limit 的情况下指定了 delimiter,则它必须是第一个参数。如果同时指定了 delimiter 和 limit,则 delimiter 必须位于 limit 之前。
返回值
- 返回一个由列或表达式的连接值组成的字符串。如果组没有元素或只有空元素,并且函数未指定仅针对空值的处理方式,则结果为可为空的字符串,其值为 null。
示例
输入表
┌─id─┬─name─┐
│ 1 │ John│
│ 2 │ Jane│
│ 3 │ Bob│
└────┴──────┘
- 基本用法,不使用分隔符
查询
SELECT groupConcat(Name) FROM Employees;
结果
JohnJaneBob
这会将所有名称连接成一个连续的字符串,没有任何分隔符。
- 使用逗号作为分隔符
查询
SELECT groupConcat(', ')(Name) FROM Employees;
结果
John, Jane, Bob
此输出显示名称以逗号加空格分隔。
- 限制连接元素的数量
查询
SELECT groupConcat(', ', 2)(Name) FROM Employees;
结果
John, Jane
此查询将输出限制为前两个名称,即使表中还有更多名称。