重复数据的排名

时间:2018-05-17 22:39:23

标签: sql hiveql

我的数据集如下。

population_size

我想在HIVE中的SQL中给它一个如下的数字。

population_size

像row_number,rank这样的传统函数并没有给我想要的结果。

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找dense_rank()

select t.*, dense_rank() over (order by val) as ranking
from t;

如果您不想按值本身排序,而是按位置排序:

select t.*, dense_rank() over (order by minid) as ranking
from (select t.*, min(id) over (partition by val) as minid
      from t
     ) t;