达梦行转列pivot
时间: 2024-11-07 18:11:51 浏览: 74
达梦数据库中的"行转列"操作通常指的是数据透视(Pivot),它是一种将数据从行结构转换为列结构的过程,以便更直观地对数据进行汇总和分析。在达梦SQL中,可以使用`PIVOT`函数来进行这种转换。例如,假设你有一个包含销售数据的表,原始表格可能是:
```sql
| 销售日期 | 客户ID | 商品 | 销售量 |
|--|
| 2022-01-01| A | A01 | 50 |
| 2022-01-02| B | A02 | 30 |
| 2022-01-03| A | A03 | 70 |
| ... | ... | ... | ... |
```
如果你想按客户和商品组合生成一个新的表,每行只有一个销售记录,可以这样做:
```sql
SELECT *
FROM sales_data
PIVOT (
SUM(销售量)
FOR 商品 IN ('A01', 'A02', 'A03') -- 把商品名作为列名
) AS pivoted_table;
```
这将得到的结果类似:
```sql
| 销售日期 | 客户ID | A01 | A02 | A03 |
|----------|--------|-----|-----|-----|
| 2022-01-01| A | 50 | NULL| NULL|
| 2022-01-02| B | NULL| 30 | NULL|
| 2022-01-03| A | NULL| NULL| 70 |
```
阅读全文