透视(Pivot)是SQL中的一种数据转换技术,它可以将行数据转换为列数据,通常用于将数据从“长格式”转换为“宽格式”。透视操作通常涉及三个主要步骤:
假设我们有一个包含销售数据的表 sales
,结构如下:
CREATE TABLE sales (
product_id INT,
region VARCHAR(50),
month VARCHAR(10),
sales_amount DECIMAL(10, 2)
);
我们希望将 month
列的值透视为列名,并计算每个 product_id
和 region
组合的每月销售额。
SELECT
product_id,
region,
[Jan] AS January,
[Feb] AS February,
[Mar] AS March
FROM (
SELECT
product_id,
region,
month,
sales_amount
FROM sales
) AS SourceTable
PIVOT (
SUM(sales_amount)
FOR month IN ([Jan], [Feb], [Mar])
) AS PivotTable;
sales
表中选择所有数据,并将其命名为 SourceTable
。PIVOT
关键字将 month
列的值转换为列名,并对 sales_amount
进行求和聚合。product_id
和 region
作为行标识,每个月份的销售数据作为列。通过上述方法,你可以将包含列名的行透视到列中,从而更方便地分析和展示数据。
领取专属 10元无门槛券
手把手带您无忧上云