hive 数据分析函数之三ROW_NUMBER,RANK,DENSE_RANK

ROW_NUMBER() 的应用场景非常多 :不并列不留空位
RANK() 生成数据项在分组中的排名,排名相等会在名次中留下空位
DENSE_RANK() 生成数据项在分组中的排名,排名相等会在名次中不会留下空位

select cookieid,cookietime,pv,
rank() OVER(partition by cookieid order by pv ) as pv1,
dense_rank() OVER(partition by cookieid order by pv ) as pv2,
row_number() OVER(partition by cookieid order by pv ) as pv3
from test1;

rank():4 4 6 排名并列, 留空位
dense_rank() 4 4 5 并列 不留空位
row_number() 4 5 6不并列不留空位

猜你喜欢

转载自blog.csdn.net/weixin_42177380/article/details/90812787
今日推荐