mssql 行转列行转列 sqlserver

在 SQL Server (MSSQL) 中,你可以使用 PIVOT 操作来实现将行数据转换为列数据。这通常用于将行数据进行汇总和横向展示。以下是一个简单的示例:

假设你有以下的数据表 SalesData:

plaintext

SalesPerson | Product | SalesAmount
———————————–
John | A | 100
John | B | 150
Jane | A | 200
Jane | B | 250
你想将数据按销售人员 (SalesPerson) 划分,并将产品 (Product) 的销售金额 (SalesAmount) 转换为列,你可以使用 PIVOT 操作:

sql

SELECT *
FROM SalesData
PIVOT
(
SUM(SalesAmount) — 求和销售金额
FOR Product IN ([A], [B]) — 列出要转换为列的产品
) AS PivotTable;
上述查询将在结果中生成一个列,该列对应于产品 (A 和 B),并将销售人员的销售金额转换为列数据:

plaintext

SalesPerson | A | B
—————————-
John | 100 | 150
Jane | 200 | 250
通过 PIVOT 操作,你可以将原始数据表的行数据转换为列数据,以便更容易进行分析和报告。你可以根据你的实际需求来调整 PIVOT 查询,以适应不同的数据转换操作。

作者 billxie

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注