You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将SQL查询结果的每个元素后加分号并拼接为字符串

实现查询结果的分号分隔字符串拼接

根据你当前的查询需求,要将去重后的country字段按升序拼接成;分隔的字符串,不同数据库的实现方式略有差异,以下是主流数据库的解决方案:

MySQL/MariaDB

使用GROUP_CONCAT聚合函数,直接支持去重、排序和指定分隔符:

SELECT GROUP_CONCAT(DISTINCT country ORDER BY country ASC SEPARATOR ';') AS country_list
FROM diary;

PostgreSQL

使用STRING_AGG函数,语法简洁,支持直接结合去重和排序逻辑:

SELECT STRING_AGG(DISTINCT country, ';' ORDER BY country ASC) AS country_list
FROM diary;

SQL Server(2017及以上版本)

STRING_AGG不支持直接在函数内使用DISTINCT,需先通过子查询完成去重,再执行拼接:

SELECT STRING_AGG(country, ';') WITHIN GROUP (ORDER BY country ASC) AS country_list
FROM (
    SELECT DISTINCT country 
    FROM diary
) AS distinct_countries;

Oracle

使用LISTAGG函数,同样需要先通过子查询去重,再进行字符串拼接:

SELECT LISTAGG(country, ';') WITHIN GROUP (ORDER BY country ASC) AS country_list
FROM (
    SELECT DISTINCT country 
    FROM diary
);

内容的提问来源于stack exchange,提问作者user22884804

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 00:03:13