默认情况下金仓数据库中没有array_agg()函数,因此需要自己创建。
创建SQL为:
--金仓默认没有该函数
CREATE AGGREGATE array_agg(anyelement)
(
sfunc = array_append, -- 每行的操作函数,将本行append到数组里
stype = anyarray, -- 聚集后返回数组类型
initcond = '{}' -- 初始化空数组
);
array_to_string该函数是自带的,可直接使用。
组合使用示例如下:
SELECT a.id, a.db_name, array_to_string(array_agg(b.username), ',') FROM tbl_company a, tbl_user b WHERE a.id = b.company_id group by a.id