这篇文章上接《
hive(0.11版本)里面关于sort by/group by/row_number等内置函数实例》
这一篇主要讲的是hive(version 0.11)中的内置函数row_number() over 函数
hive> select a.sno,a.cno,a.grade from
> (select cno,sno,grade,row_number() over (distribute by cno sort by grade desc) rid from test.tab_demo_sc) a where a.rid<=2;
Total MapReduce jobs = 1
Launching Job 1 out of 1
OK
sno cno grade
95013 1 98
95008 1 98
95018 2 100
95014 2 100
95006 3 100
95005 3 99
95015 4 100
95014 4 98
95017 5 100
95003 5 100
95022 6 100
95009 6 100
由上例可知,row_number() over函数可以用来进行分组取top n的作用。