pivot order
时间: 2023-10-13 07:05:50 浏览: 81
PIVOT函数是一种用于将行数据转换为列数据的SQL函数。在给定的查询结果集中,PIVOT函数将基于指定的聚合字段和分组列创建一个新的结果集,其中每个不同的分组列值都会转换为一个新的列。
在给定的引用中,PIVOT函数的语法如下:
```
PIVOT (aggregate_function FOR pivot_for_clause IN (pivot_in_clause))
```
其中,`aggregate_function`表示要应用的聚合函数,`pivot_for_clause`表示要转换为列的字段,而 `pivot_in_clause` 表示要转换为列的行值。
在引用中,`EXTRACT`函数用于将 `ORDERDATE` 字段转换为年份形式。然后,PIVOT函数将按照指定的聚合字段和分组列将 `ordertotal` 进行聚合,并将 `ORDERMODE` 字段中的行值 `'direct'` 和 `'online'` 转换为列。最终的结果集将按照 `YEAR` 进行分组,并且每个分组下都会有 `direct` 和 `online` 两个列。
示例代码如下:
```sql
CREATE TABLE pivot_table AS
SELECT * FROM (
SELECT EXTRACT(YEAR FROM order_date) year, order_mode, order_total
FROM oe.orders
)
PIVOT (
SUM(order_total) FOR order_mode IN ('direct' AS Store, 'online' AS Internet)
);
SELECT * FROM pivot_table ORDER BY year;
```
阅读全文