默認情況下金倉數據庫中沒有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