2017-08-26 22 views
0

样品输入:如何在不使用自定义UDF或左连接的情况下在Hive中发挥关键作用?

PARTY  |TYPE | TIMESTAMP 
------------------------------------- 
135761103 |AA |2017-04-24 11:18:46.233 
135761103 |BB |2017-04-24 11:19:18.436 

所需的输出:

PARTY |AA_TIMESTAMP|BB_TIMESTAMP 
-------------------------------- 
135761103 |2017-04-24 11:18:46.233 |2017-04-24 11:19:18.436 
+0

请分享您尝试过的方法,这对您有所帮助。 – imsome1

+0

[如何将sql结果条目转换为列(透视)](https://stackoverflow.com/questions/39769865/how-rotate-sql-result-entries-into-columns-pivot) – leftjoin

+0

也可以在这里看到: https://stackoverflow.com/a/44772741/2700344 – leftjoin

回答

0

可以使用CASE & GROUP BY组合做到这一点。类似于:

SELECT 
    PARTY, 
    max(CASE WHEN TYPE = 'AA' THEN TIMESTAMP END) AS AA_TIMESTAMP, 
    max(CASE WHEN TYPE = 'BB' THEN TIMESTAMP END) AS BB_TIMESTAMP 
FROM 
    MY_TAB 
GROUP BY 
    PARTY 
+0

测试你的代码。 –

+0

@DuduMarkovitz,更新了答案。 – Ambrish

相关问题