重置配置单元中的排名

xn1cxnb4  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(206)

我想按如下所示对数据进行分区。但正如链接中所给出的那样,没有一个内置函数可以从1开始重新设置秩。我试过了 ROW_NUMBER(), RANK(), DENSE_RANK() . 那么,有人能告诉我怎么做到这一点吗?

Col1     Col2    Rank
cookie1    ABC      1
cookie1    ABC      1
cookie1    EFG      2
cookie1    EFG      2
cookie1    IJK      3
cookie1    IJK      3

cookie2    XYZ      1
cookie2    XYZ      1
cookie2    LMN      2
nwsw7zdq

nwsw7zdq1#

给你,你需要 dense_rank 按第一列划分,按第二列排序。

select *,dense_rank() over (partition by Col1 order by Col2) as rn from test_rank;

output:-

cookie1 ABC     1
cookie1 ABC     1
cookie1 EFG     2
cookie1 EFG     2
cookie1 IJK     3
cookie1 IJK     3

cookie2 LMN     1
cookie2 XYZ     2
cookie2 XYZ     2
4si2a6ki

4si2a6ki2#

对partition by子句使用稠密的\u rank()。
温度为(

select Col1      ,Col2  , DENSE_RANK() OVER   

  (PARTITION BY Col1      ORDER BY Col2  ) AS Rank 

  from rnktest 
 )
select *  from temp ;

相关问题