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

如何用SQL将同id的多行重复数据合并为单行逗号拼接格式

SQL实现同id多行code值逗号拼接方案

核心实现逻辑是按id字段分组,对同组内的code值执行字符串聚合操作,不同数据库对应的聚合函数略有区别,以下是各主流数据库的实现代码:

MySQL

使用GROUP_CONCAT函数实现:

SELECT
  id,
  GROUP_CONCAT(code ORDER BY date DESC SEPARATOR ',') AS code
FROM TBL
WHERE id = '1527'
GROUP BY id;

说明:ORDER BY date DESC用于控制拼接顺序,示例中按日期倒序排列刚好符合你给出的26181,15182的输出顺序,不需要控制顺序可删除该部分

PostgreSQL

使用STRING_AGG函数实现:

SELECT
  id,
  STRING_AGG(code::VARCHAR, ',' ORDER BY date DESC) AS code
FROM TBL
WHERE id = '1527'
GROUP BY id;

SQL Server 2017及以上版本

使用STRING_AGG函数实现:

SELECT
  id,
  STRING_AGG(code, ',') WITHIN GROUP (ORDER BY date DESC) AS code
FROM TBL
WHERE id = '1527'
GROUP BY id;

Oracle 11gR2及以上版本

使用LISTAGG函数实现:

SELECT
  id,
  LISTAGG(code, ',') WITHIN GROUP (ORDER BY date DESC) AS code
FROM TBL
WHERE id = '1527'
GROUP BY id;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:36:08