如何 select 并在配置单元中从水平到垂直组织日期
how to select and organize the date from horizontal to vertical in hive
我有一个 table 结构如下。
Materialno | Rate | Month
s1 | 20 | jan
s1 | 30 | feb
s1 | 40 | mar
s2 | 20 | jan
s2 | 30 | feb
我需要查询 table 结构并将其转换为以下格式
Materialno | jan_rate |feb_rate |mar_rate
s1 | 20 | 30 | 40
s2 | 20 | 30 |
这在配置单元中可行吗?
是:
select Materialno,
max(if(Month='jan',Rate,0)) as jan_rate,
max(if(Month='feb',Rate,0)) as feb_rate,
max(if(Month='mar',Rate,0)) as mar_rate
from inputTable group by Materialno;
假设您每个月有一个费率值material否',这将起作用,否则将选择最大值。
我有一个 table 结构如下。
Materialno | Rate | Month s1 | 20 | jan s1 | 30 | feb s1 | 40 | mar s2 | 20 | jan s2 | 30 | feb
我需要查询 table 结构并将其转换为以下格式
Materialno | jan_rate |feb_rate |mar_rate s1 | 20 | 30 | 40 s2 | 20 | 30 |
这在配置单元中可行吗?
是:
select Materialno,
max(if(Month='jan',Rate,0)) as jan_rate,
max(if(Month='feb',Rate,0)) as feb_rate,
max(if(Month='mar',Rate,0)) as mar_rate
from inputTable group by Materialno;
假设您每个月有一个费率值material否',这将起作用,否则将选择最大值。