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

如何在SQL中合并同一客户的多行B1、C1列数据?

解决方案

方法1:Excel/Google Sheets(Power Query)

适合可视化批量处理,支持任意行数的合并需求:

  1. 选中目标数据区域,点击「数据」选项卡 → 「从表格/区域」(Excel)或「数据」→「导入数据」→「从表格」(Google Sheets),将数据导入Power Query编辑器。
  2. 选中Name和DOB列,点击「转换」选项卡 → 「分组依据」。
  3. 分组规则设置:
    • 分组依据:勾选Name和DOB
    • 新增两个分组项:
      • 列名设为B1,操作选「自定义」,公式栏输入Text.Combine([B1], ", ")
      • 列名设为C1,操作选「自定义」,公式栏输入Text.Combine([C1], ", ")
  4. 点击确定后,关闭编辑器并上载数据,即可得到合并结果。

如果是少量数据,也可以用函数公式:
假设数据在A1:D3区域,E2单元格输入(Excel 365/Google Sheets直接回车,旧版Excel按Ctrl+Shift+Enter):

=TEXTJOIN(", ", TRUE, IF((A$2:A$3=A2)*(B$2:B$3=B2), C$2:C$3, ""))

下拉填充后,再在F2单元格处理C1列:

=TEXTJOIN(", ", TRUE, IF((A$2:A$3=A2)*(B$2:B$3=B2), D$2:D$3, ""))

方法2:Python pandas代码

适合编程自动化处理,兼容单行、多行等所有场景:

import pandas as pd

# 加载你的数据(实际使用时可替换为pd.read_excel/pd.read_csv读取文件)
data = {
    'Name': ['cust A', 'cust A'],
    'DOB': ['01/06/99', '01/06/99'],
    'B1': ['ba1', 'ba2'],
    'C1': ['ca1', 'ca2']
}
df = pd.DataFrame(data)

# 按Name+DOB分组,合并对应列
merged_df = df.groupby(['Name', 'DOB']).agg(
    B1=('B1', ', '.join),
    C1=('C1', ', '.join)
).reset_index()

print(merged_df)

运行输出结果:

Name       DOB         B1         C1
0  cust A  01/06/99  ba1, ba2  ca1, ca2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 04:11:20