我对 Impala 和一般的sql都是新手。为了从这个表开始,我正在尝试做一些透视操作。
输入:
名称表:myname
+-----------+---------------------+-----------+
| Column A | Column B | Column C |
+-----------+---------------------+-----------+
| a1 | b1 | c1 |
| a2 | b2 | c2 |
| a3 | b3 | c3 |
+-----------+---------------------+-----------+
为了得到另一个表,b1,b2,b3从一列到另一行。
输出:
+-----------+---------------------+-----------+
| b1 | b2 | b3 |
+-----------+---------------------+-----------+
| a1 | a2 | a3 |
| c1 | c2 | c3 |
+-----------+---------------------+-----------+
这是我到目前为止找到的代码:
select b_column,
max(case where b_column='b%' then column_a, column_c end) column_a, column_c
from MyName
group by b_column;
但它不起作用,我感觉很困。
有人能就如何解决这个问题给我一个提示/建议吗?
提前多谢了!
1条答案
按热度按时间gwbalxhn1#
如果您试图在imapla中实现pivot,那么您不能按照6.1文档的要求,pivot不是当前的功能。
https://www.cloudera.com/documentation/enterprise/6/6.1/topics/impala_reserved_words.html