大数据之hive:开窗实战

Posted 浊酒南街

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据之hive:开窗实战相关的知识,希望对你有一定的参考价值。

问题:如何取第二?

有一张学生表,有id,name,score,取出score的第二大值

解决方法一

使用row_number() over()开窗函数

select 
score
from 
(select
score,
row_number() over(order by score desc) rk
from stu_test) t
where t.rk=2;

解决方法二

使用自连接

select 
a.score
from stu_test a
join stu_test b
on a.score<b.score  
group by a.score
having count(*)=1;

以上是关于大数据之hive:开窗实战的主要内容,如果未能解决你的问题,请参考以下文章

大数据之Hive:Hive 开窗函数

大数据之Hive:Hive 开窗函数

大数据之Hive:Hive 开窗函数

大数据之-HIVE入门(二十)

大数据之-HIVE入门(十四)

大数据(3g)HIVE开窗函数应用场景(不定更)