ITPub博客

首页 > 数据库 > 国内数据库 > YashanDB GROUP_CONCAT函数

YashanDB GROUP_CONCAT函数

国内数据库 作者:崖山数据库系统YashanDB 时间:2025-06-04 19:01:34 0 删除 编辑

GROUP_CONCAT函数在 CONCAT函数的功能上增加了聚集功能,即对GROUP BY聚集的每个分组里的多行执行CONCAT操作,函数返回值是CLOB类型。

本函数不支持向量化计算。

DISTINCT

过滤在同一组内出现的相同string。

string

string须为字符型,或可转换为字符型的其他类型,但不允许为JSON、NVARCHAR、NCHAR和NCLOB类型。

当string为NULL时,函数返回NULL。

string参数可以为:

  • expr
  • 查询列为单列且返回行为单行的子查询

order_by_clause

对组内要CONCAT的string排序,其语法与SELECT语句中描述一致。

当ORDER BY后指定的是常量数字时,表示的是string的顺序值。

SEPARATOR sep_character

指定将组内的多行进行CONCAT时,多行之间加上sep_character定义的分隔符,sep_character只能为character类的常量或NULL。

此语句不指定时,默认为','。

示例(HEAP表)

--创建exprs_group表,并插入数据CREATE TABLE exprs_group (expra INT,exprb CHAR(3));INSERT INTO exprs_group VALUES(1, 'aaa');INSERT INTO exprs_group VALUES(1, 'bbb');INSERT INTO exprs_group VALUES(2, 'bbb');INSERT INTO exprs_group VALUES(2, 'ccc');INSERT INTO exprs_group VALUES(3, 'ccc');INSERT INTO exprs_group VALUES(3, 'ddd');COMMIT;
 --未指定GROUP BY时,将所有行CONCAT,得到一行结果SELECT GROUP_CONCAT(expra,exprb) res FROM exprs_group;RES                                                             
----------------------------------------------------------------1aaa,1bbb,2bbb,2ccc,3ccc,3ddd                                  
 
--group by后各组的多行数据分别CONCAT成一行,得到按组的多行结果SELECT expra, GROUP_CONCAT(expra,exprb ORDER BY 2 SEPARATOR '$') resFROM exprs_groupGROUP BY expra;
       EXPRA RES                                                             
------------ ----------------------------------------------------------------
           1 1aaa$1bbb                                                      
           2 2bbb$2ccc                                                      
           3 3ccc$3ddd      
 
--子查询SELECT expra,GROUP_CONCAT((SELECT expra FROM exprs_group WHERE ROWNUM=1),exprb ORDER BY 2 SEPARATOR '$') resFROM exprs_groupGROUP BY expra;
       EXPRA RES                                                             
------------ ----------------------------------------------------------------
           1 1aaa$1bbb                                                      
           2 1bbb$1ccc                                                      
           3 1ccc$1ddd


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3086687/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: YashanDB IF函数
请登录后发表评论 登录
全部评论
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    639807