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

SQL Server中如何将多行费用数据按人员与类型汇总转列

在SQL Server中处理重复费用数据并实现行转列汇总

原始数据结构

人员数值类型
John10TypeA
John10TypeA
John20TypeB
John20TypeB
Steve15TypeA
Steve15TypeA
Steve25TypeB
Steve25TypeB

期望结果

人员TypeATypeB
John2040
Steve3050

方法一:条件聚合(兼容性强,推荐)

逻辑清晰,适配所有SQL Server版本,适合类型固定的场景:

SELECT 
    人员,
    SUM(CASE WHEN 类型 = 'TypeA' THEN 数值 ELSE 0 END) AS TypeA,
    SUM(CASE WHEN 类型 = 'TypeB' THEN 数值 ELSE 0 END) AS TypeB
FROM 你的表名
GROUP BY 人员;

方法二:PIVOT函数(SQL Server 2005+支持)

利用内置行转列函数实现,语法更简洁:

SELECT 
    人员,
    TypeA,
    TypeB
FROM (
    SELECT 人员, 数值, 类型
    FROM 你的表名
) AS SourceTable
PIVOT (
    SUM(数值)
    FOR 类型 IN (TypeA, TypeB)
) AS PivotTable;

说明

两种方法都会自动对重复数据求和汇总,执行时替换语句中的你的表名为实际表名即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 05:25:29