700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > HQL语句使用row_number() over(partition by) 分组排序取topN

HQL语句使用row_number() over(partition by) 分组排序取topN

时间:2024-05-09 20:27:08

相关推荐

HQL语句使用row_number() over(partition by) 分组排序取topN

在mysql中实现over partiton by,进行分组排序取topN

https://georgedage./article/details/103557651

使用mysql进行分区中的topN,但是在生产中我们一般使用sparksql进行分区中的topN计算。那么如果针对于HQL那么怎么进行写呢?

【友情提示,使用的hive,可以将hql语句放在spark上进行运行试验,这里只针对于hql语句的编写!】

创表

create table t1(id int,name String,class String,score int) row format delimited fields terminated by "," ;

加载数据

load data local inpath "/root/t1" into table t1;

HQL语句

【友情补充】如果不太熟悉,我在针对row_number()写了一篇小博客

浅析row_number()函数【HQL】https://georgedage./article/details/103564049

select t.id,t.name,t.class,t.score from (select id,name,class,score,row_number() over(partition by class order by score desc) rank from t1) t where t.rank < 4;

结果展示

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。