sql行专列
迪丽瓦拉
2024-06-01 02:16:56
0

将SQL中的行转换为列,可以使用PIVOT和UNPIVOT两个操作符。

PIVOT操作符可将一列中的数据行转换为列,生成一张新表。以下是一个简单的示例:

假设有一个名为sales的表,包含三列:region(地区)、quarter(季度)和sales(销售额)。

sql
Copy code
SELECT *
FROM sales
PIVOT (
SUM(sales)
FOR quarter IN (‘Q1’, ‘Q2’, ‘Q3’, ‘Q4’)
);
此查询将会将原始表格:

region quarter sales
North Q1 100
North Q2 200
North Q3 150
North Q4 300
South Q1 50
South Q2 75
South Q3 200
South Q4 100
转换为如下表格:

region Q1 Q2 Q3 Q4
North 100 200 150 300
South 50 75 200 100
UNPIVOT操作符则相反,可以将列转换为行。以下是一个简单的示例:

假设有一个名为sales的表,包含三列:region(地区)、quarter(季度)和sales(销售额)。

sql
Copy code
SELECT region, quarter, sales
FROM sales
UNPIVOT (
sales
FOR quarter IN (Q1, Q2, Q3, Q4)
);
此查询将会将原始表格:

region Q1 Q2 Q3 Q4
North 100 200 150 300
South 50 75 200 100
转换为如下表格:

region quarter sales
North Q1 100
North Q2 200
North Q3 150
North Q4 300
South Q1 50
South Q2 75
South Q3 200
South Q4 100

相关内容