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

将含重复ID的SQL Server表转换为多列新表

完全可行,这是典型的数据透视转换操作

这属于将长表转宽表的常见需求,几乎所有主流数据处理工具都能轻松实现,以下是几种常用工具的具体操作方式:

1. SQL实现(以MySQL为例)

假设原表Table1的字段为ID、Score(比分)、Odds(赔率),可以用动态SQL实现(适配动态变化的比分列):

SET @sql = NULL;
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT(
      'MAX(CASE WHEN Score = ''',
      Score,
      ''' THEN Odds END) AS `',
      Score, '`'
    )
  ) INTO @sql
FROM Table1;

SET @sql = CONCAT('SELECT ID, ', @sql, ' FROM Table1 GROUP BY ID');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

2. Excel实现

  • 选中原表数据区域,点击「插入」选项卡中的数据透视表
  • 在透视表字段设置中:
    • 将ID拖到「行」区域
    • 将Score拖到「列」区域
    • 将Odds拖到「值」区域,修改值汇总方式为「最大值」(因每个ID+比分组合仅一条数据,最大值即为对应赔率)
  • 调整透视表格式即可得到目标表

3. Python Pandas实现

import pandas as pd

# 读取原表数据(支持CSV、数据库等多种数据源)
df = pd.read_csv('Table1.csv')

# 执行透视转换
pivot_df = df.pivot(index='ID', columns='Score', values='Odds').reset_index()

# 导出结果
pivot_df.to_csv('目标表.csv', index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 06:52:35