HIVE QL:将列拆分为2列并对æ¯åˆ—进行排å

时间:2016-07-21 16:39:31

标签: hadoop hive

ç 

   select c1,c2,c3,c4,c5,c6
   from table
   where c5 in ('a', 'b')

从这里开始,我想将列c5拆分为两列,然åŽæ ¹æ®å®ƒä»¬å¯¹c6的值对这些列进行排åºã€‚一列应由所有结果组æˆï¼Œå¦ä¸€åˆ—应为b结果。我已ç»èƒ½å¤Ÿä½¿ç”¨rank()对它们进行排å,但是无法将列分开。我还没有得到其他人习惯为我工作的技术。

1 个答案:

答案 0 :(得分:0)

select c1,c2,c3,c4,c5,c6, rank() over (partition by ... order by case when c5='a' then 1 case when c5='b' then 2 end) as rnk;

我完全ä¸æ˜Žç™½c5包å«çš„内容。如果您的情况更æ¢when c5='a'之类的æ¡ä»¶ã€‚