hivesql 实现pivot
时间: 2024-08-15 19:01:11 浏览: 51
行转列之SQL SERVER PIVOT与用法详解
5星 · 资源好评率100%
Hive SQL中的Pivot是一种数据重塑技术,用于将行转换为列,通常是在需要汇总或组合数据时使用。当你有一组按类别分组的数据,并想按照类别对值进行归一化展示,例如从一个多维度的报告转化为单列的汇总视图,这时就可以使用Pivot。
在Hive SQL中,你可以使用CASE WHEN语句配合UNION ALL来实现Pivot。基本步骤如下:
```sql
SELECT
original_column,
CASE
WHEN category = 'category1' THEN value1
WHEN category = 'category2' THEN value2
ELSE NULL
END AS pivot_column
FROM
your_table
PIVOT (
MAX(value)
FOR category IN ('category1', 'category2')
) pivoted_data;
```
这里,`original_column`是你原始表中的分类字段,`value1`和`value2`是你要聚合的值,`category1`和`category2`是新的列名。注意如果某个类别不存在于某一行,那么对应的值会被设置为NULL。
阅读全文