hiveql:将列拆分为2列并对每列进行排序

owfi6suc  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(341)

代码

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

从这里开始,我想将列c5拆分为两列,然后根据它们对c6的值对它们进行排序。一列应该由所有a结果组成,另一列应该是所有b结果。我可以使用rank()对它们进行排序,但是无法将列分开。我还没有掌握别人为我工作的技巧。

jtw3ybtb

jtw3ybtb1#

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' 以防你的。

相关问题