(六)hive 窗口函数 分组求topn

窗口函数

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+WindowingAndAnalytics

分组top n

select name, money,row_number() over(partition by name order by money desc ) rank from cost;

张三 150.0 1

张三 100.0 2

张三 50.0 3

李四 180.0 1

李四 110.0 2

李四 80.0 3

王五 300.0 1

王五 200.0 2

王五 190.0 3

赵二 4090.0 1

赵二 80.0 2

赵二 40.0 3

去前2

select * from (

select name, money,row_number() over(partition by name order by money desc ) rank from cost

) rn where rn.rank <=2张三 150.0 1

张三 100.0 2

李四 180.0 1

李四 110.0 2

王五 300.0 1

王五 200.0 2

赵二 4090.0 1

赵二 80.0 2

你可能感兴趣的:(hive,大数据,hive)