sqlserver中pivot函数
时间: 2023-06-13 10:04:44 浏览: 88
SQL Server中的PIVOT函数是一种用于将行数据转换为列数据的表格旋转函数。它可以将一组带有重复值的行数据转换为一个带有唯一值的列数据,以便更方便地进行分析和报告。以下是一个简单的pivot函数示例:
假设我们有一个名为Sales的表,包含以下数据:
| Region | Product | Sales |
|--------|---------|-------|
| East | A | 100 |
| East | B | 200 |
| West | A | 150 |
| West | B | 250 |
我们想要将这些数据按Product列进行旋转,以便我们可以看到每个区域下每个产品的销售总额。我们可以使用PIVOT函数来实现这一点:
```
SELECT Region, [A], [B]
FROM (
SELECT Region, Product, Sales
FROM Sales
) AS s
PIVOT (
SUM(Sales)
FOR Product IN ([A], [B])
) AS p
```
这将返回以下结果:
| Region | A | B |
|--------|-------|-------|
| East | 100 | 200 |
| West | 150 | 250 |
在这个例子中,我们首先从Sales表中选择Region,Product和Sales列。然后我们将这些数据传递给PIVOT函数,其中SUM聚合函数将Sales列的值合并为每个Product的总销售额,并将其旋转到新的列中。最后,我们选择Region和旋转后的列([A]和[B])来创建我们的最终结果集。