瀚高group_concat
时间: 2023-08-19 08:05:23 浏览: 218
瀚高数据库中暂时不支持group_concat聚集函数,需要通过自定义聚集函数实现。可以使用自定义的group_concat函数来实现类似的功能。首先,需要创建一个自定义的group_concat聚集函数,使用array_append函数将每行的记录附加到数组中。然后,使用array_to_string函数将数组转换为字符串,并指定适当的分隔符。例如,可以使用以下语句来创建自定义的group_concat函数:
CREATE AGGREGATE group_concat(anyelement) (
sfunc = array_append,
stype = anyarray,
initcond = '{}'
);
然后,可以使用该函数来实现类似于MySQL中group_concat函数的功能。例如,可以使用以下语句来将每个地址的名称连接成一个字符串,并使用逗号作为分隔符:
SELECT address, array_to_string(group_concat(name order by name), ',') from group_concat group by address;
如果需要在组内去重,可以使用distinct关键字。例如,可以使用以下语句来将每个地址的唯一名称连接成一个字符串,并使用逗号作为分隔符:
SELECT address, array_to_string(array_agg(distinct name order by name), ',') from group_concat group by address;
请注意,以上示例中的分隔符可以根据需要进行更改。
#### 引用[.reference_title]
- *1* *3* [ERROR: function group_concat(character varying) does not exist](https://blog.csdn.net/s1162276945/article/details/120970732)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [MySQL的group_concat聚集函数到HGDB的迁移](https://blog.csdn.net/pg_hgdb/article/details/122063211)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文