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

MYSQL如何用GROUP_CONCAT将同user_id数据按指定格式合并为单行

MySQL 按user_id合并行格式转换解决方案

错误原因

你之前的写法是先分别拼接所有NAME、TYPE、RATING字段值,自然会出现同类型字段全部堆叠的问题,不符合逐行格式化再合并的需求。

正确实现代码

核心逻辑:先为每一条原始记录生成符合要求的格式字符串,再按user_id分组,将同一分组的所有格式化字符串拼接为单行。

-- 临时调大GROUP_CONCAT长度限制,避免数据量大时被截断(按需调整数值,单位字节)
SET SESSION group_concat_max_len = 1024000;

SELECT 
  user_id,
  GROUP_CONCAT(
    CONCAT('NAME: ', NAME, ', TYPE: ', TYPE, ', RATING: ', RATING)
    SEPARATOR ',\n'
  ) AS merged_result
FROM 你的实际表名
GROUP BY user_id;

如果不需要输出user_id字段,直接删除SELECT列表中的user_id即可。

效果说明

拼接后的merged_result字段,同user_id的所有记录会按你要求的格式逐行拼接,和你给出的目标效果完全一致,适配数据导入场景的格式要求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:57:01