Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hive 如何转换蜂窝表_Hive_Pivot - Fatal编程技术网

Hive 如何转换蜂窝表

Hive 如何转换蜂窝表,hive,pivot,Hive,Pivot,有人能帮我理解一下,如何旋转蜂巢桌吗 我有一张这样的蜂巢桌: ColumnA ColumnB Column C Date Price A1 B1 C1 20171001 100 A1 B2 C2 20171001 50 A2 B2 C2 20171002 75 A3 B1

有人能帮我理解一下,如何旋转蜂巢桌吗

我有一张这样的蜂巢桌:

ColumnA    ColumnB    Column C    Date        Price
A1          B1        C1          20171001    100
A1          B2        C2          20171001    50
A2          B2        C2          20171002    75
A3          B1        C2          20171002    10
我想像这样旋转上表:

ColumnA    ColumnB    Column C    20171001    20171002    Total
A1         B1         C1          100                     100
A1         B2         C2          50                      50
A2         B2         C1                       75         75
A3         B1         C2                       10         10
试试这个

select 
        ColumnA, 
        ColumnB, 
        ColumnC, 
        MAX ( CASE 
                WHEN Date_ = '20171001' 
                THEN Price 
        END ) price_20171001,
        MAX ( CASE 
                WHEN Date_ = '20171002' 
                THEN Price 
        END )      price_20171002 , 
        Max(Price) Total
FROM 
        Yourtable 
GROUP BY 
        ColumnA, 
        ColumnB, 
        ColumnC
ORDER BY 
        ColumnA;
注意:由于
日期
是无效列,我使用了
日期

试试这个

select 
        ColumnA, 
        ColumnB, 
        ColumnC, 
        MAX ( CASE 
                WHEN Date_ = '20171001' 
                THEN Price 
        END ) price_20171001,
        MAX ( CASE 
                WHEN Date_ = '20171002' 
                THEN Price 
        END )      price_20171002 , 
        Max(Price) Total
FROM 
        Yourtable 
GROUP BY 
        ColumnA, 
        ColumnB, 
        ColumnC
ORDER BY 
        ColumnA;
注意:由于
日期
是无效列,因此我使用了
日期