大多数编程语言容器类API都会提供这样一个函数:把多个输入参数用特定分隔符拼接成新的字符串输出,比如JavaScript数组Array的join函数,那关系数据库SQL有提供聚合功能函数吗? 通过查询相关文档Oracle、mysql、Postgresql都提供了这样函数
数据库 | 函数名
--- | ---
oracle | listagg
PostgreSQL | string_agg
mysql | group_concat
比如具有 account_id,product_id和asset三个字段资产表 要组装某个账户持有资产product_id列表mysql sql实现如下
select group_concat(PRODUCT_ID) FROM trade_asset ae where ae.ACCOUNT_ID = 'your_account' ae.asset > 0;