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

SQL实现按客户将多行数据合并为单行的方法求助

客户数据单行展示解决方案

根据你的需求,需要将同一客户的多行数据合并为一行,这属于SQL里的行转列操作,不同数据库对应的函数略有不同,以下是常见数据库的实现代码:

假设原表结构

假设你的数据表名为customer_records,包含字段:客户ID、客户名称、关联内容(对应原数据里每个客户的多行条目,比如产品、订单项等)

MySQL/MariaDB 实现

使用GROUP_CONCAT函数合并字段:

SELECT
  `客户ID`,
  `客户名称`,
  GROUP_CONCAT(`关联内容` SEPARATOR ', ') AS `合并内容`
FROM customer_records
GROUP BY `客户ID`, `客户名称`;

SQL Server(2017+)/ PostgreSQL 实现

使用STRING_AGG函数:

SELECT
  "客户ID",
  "客户名称",
  STRING_AGG("关联内容", ', ') AS "合并内容"
FROM customer_records
GROUP BY "客户ID", "客户名称";

Oracle 实现

使用LISTAGG函数:

SELECT
  客户ID,
  客户名称,
  LISTAGG(关联内容, ', ') WITHIN GROUP (ORDER BY 关联内容) AS 合并内容
FROM customer_records
GROUP BY 客户ID, 客户名称;

注意事项

  • 替换代码中的customer_records、客户ID、客户名称、关联内容为你实际的表名和字段名
  • 如果需要自定义分隔符,把', '改成你想要的符号(比如'|')即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:26:01