数据仓库服务 GAUSSDB(DWS)-聚集函数:group_concat(expression [ORDER BY {col_name | expr} [ASC | DESC]] [SEPARATOR str_val])
数据仓库服务 GAUSSDB(DWS)-聚集函数:group_concat(expression [ORDER BY {col_name | expr} [ASC | DESC]] [SEPARATOR str_val])
group_concat(expression [ORDER BY {col_name | expr} [ASC | DESC]] [SEPARATOR str_val])
描述:将列数据使用指定的str_val分隔符,按照ORDER BY子句指定的排序方式拼接成字符串,ORDER BY子句必须指定排序方式,不支持ORDER BY 1的写法。
- expression:必选,指定列名或基于列的有效表达式,不支持DISTINCT关键字和VARIADIC参数。
- str_val:可选,指定的分隔符,可以是字符串常数或基于分组列的确定性表达式。缺省时表示分隔符为逗号。
返回类型:text
group_concat函数仅8.1.2及以上版本支持。
示例:
默认分隔符为逗号:
1 2 3 4 5 |
SELECT group_concat(sname) FROM group_concat_test; group_concat ------------------------------------------ ADAMS,FORD,JONES,KING,MILLER,SCOTT,SMITH (1 row) |
group_concat函数支持自定义分隔符:
1 2 3 4 5 |
SELECT group_concat(sname separator ';') from group_concat_test; group_concat ------------------------------------------ ADAMS;FORD;JONES;KING;MILLER;SCOTT;SMITH (1 row) |
group_concat函数支持ORDER BY子句,将列数据进行有序拼接:
1 2 3 4 5 |
SELECT group_concat(sname order by snumber separator ';') FROM group_concat_test; group_concat ------------------------------------------ MILLER;FORD;SCOTT;SMITH;KING;JONES;ADAMS (1 row) |