sql行专列

将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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部