SQLSERVER 行转列
时间: 2024-06-18 12:02:52 浏览: 82
SqlServer行转列
SQL Server中行转列指的是将某一列的不同值转化为列名,从而形成新的列。这个过程也被称为“Pivot”,可以使用T-SQL语句中的PIVOT关键字实现。
例如,有如下的Sales表:
| Product | Month | Amount |
|--|
| A | Jan | 100 |
| A | Feb | 200 |
| B | Jan | 300 |
| B | Feb | 400 |
如果我们想要将Month列转化为A和B两个产品的销售额列,可以使用如下的T-SQL语句:
```
SELECT
Product,
[Jan],
[Feb]
FROM
(SELECT Product, Month, Amount FROM Sales) AS SourceTable
PIVOT
(
SUM(Amount)
FOR Month IN ([Jan], [Feb])
) AS PivotTable;
```
执行后得到的结果如下:
| Product | Jan | Feb |
|---------|-------|-------|
| A | 100 | 200 |
| B | 300 | 400 |
这样就将原先的行数据转化为了列数据。在实际的业务场景中,行转列常常被用来对数据进行聚合和分析。
阅读全文