SQL技术问询:如何合并其他列相同行的Issue列内容
合并重复行并拼接Issue列内容
以下是几种常用工具的实现方案,按需选择:
Excel 操作步骤
用Power Query可高效完成合并:
- 选中全部数据区域,点击「数据」选项卡 → 「从表格/区域」,将数据导入Power Query编辑器
- 选中
DateTime、StaffID、ClientID、Enquiry这几列(除Issue外的所有列) - 点击「转换」选项卡 → 「分组依据」,选择「高级」模式:
- 添加选中的所有列作为分组依据
- 新列名设为
Issue,操作选择「求和」→ 「值」,然后把公式栏里的List.Sum修改为Text.Combine(_[Issue], ", ")
- 点击「关闭并上载」,即可得到合并后的结果
Python Pandas 代码实现
import pandas as pd # 读取源数据(支持CSV/Excel等格式,这里以CSV为例) df = pd.read_csv("your_data.csv") # 按指定列分组,拼接Issue列内容 merged_df = df.groupby(['DateTime', 'StaffID', 'ClientID', 'Enquiry'])['Issue'].apply(', '.join).reset_index() # 保存合并后的结果 merged_df.to_csv("merged_data.csv", index=False)
SQL 实现(分数据库)
假设数据存储在表enquiry_records中:
MySQL/MariaDB
SELECT DateTime, StaffID, ClientID, Enquiry, GROUP_CONCAT(Issue SEPARATOR ', ') AS Issue FROM enquiry_records GROUP BY DateTime, StaffID, ClientID, Enquiry;
PostgreSQL/SQL Server
SELECT DateTime, StaffID, ClientID, Enquiry, STRING_AGG(Issue, ', ') AS Issue FROM enquiry_records GROUP BY DateTime, StaffID, ClientID, Enquiry;
内容的提问来源于stack exchange,提问作者user19779614
相关产品推荐
相关产品推荐

