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

如何在SQL中将数据表列值转换为CSV格式?

在SQL中将列值转换为CSV格式

根据不同SQL数据库类型,以下是实现列值转CSV的常用方法:

MySQL/MariaDB

使用GROUP_CONCAT()函数聚合列值:

SELECT 
    ID,
    GROUP_CONCAT(Name SEPARATOR ',') AS Name_CSV
FROM your_table
GROUP BY ID;

需要去除重复值时,可添加DISTINCT:

SELECT 
    ID,
    GROUP_CONCAT(DISTINCT Name SEPARATOR ',') AS Name_CSV
FROM your_table
GROUP BY ID;

PostgreSQL

使用STRING_AGG()函数,支持排序:

SELECT 
    ID,
    STRING_AGG(Name, ',' ORDER BY Name) AS Name_CSV
FROM your_table
GROUP BY ID;

去重写法:

SELECT 
    ID,
    STRING_AGG(DISTINCT Name, ',' ORDER BY Name) AS Name_CSV
FROM your_table
GROUP BY ID;

SQL Server

2017及以上版本直接用STRING_AGG():

SELECT 
    ID,
    STRING_AGG(Name, ',') WITHIN GROUP (ORDER BY Name) AS Name_CSV
FROM your_table
GROUP BY ID;

旧版本可通过FOR XML PATH实现:

SELECT 
    DISTINCT ID,
    STUFF((
        SELECT ',' + Name 
        FROM your_table t2 
        WHERE t2.ID = t1.ID 
        ORDER BY Name
        FOR XML PATH(''), TYPE
    ).value('.', 'NVARCHAR(MAX)'), 1, 1, '') AS Name_CSV
FROM your_table t1;

Oracle

使用LISTAGG()函数:

SELECT 
    ID,
    LISTAGG(Name, ',') WITHIN GROUP (ORDER BY Name) AS Name_CSV
FROM your_table
GROUP BY ID;

去重需结合子查询:

SELECT 
    ID,
    LISTAGG(Name, ',') WITHIN GROUP (ORDER BY Name) AS Name_CSV
FROM (SELECT DISTINCT ID, Name FROM your_table)
GROUP BY ID;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 09:41:12