窗口函数
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