Hive-rank() 和 order by的用法
·
hive中order by的用法
使用rank 单用rank报错!! Missing over clause for function : rank
select name,sum(cost) s1, rank()
from business
group by name;
rank() over() 没指定排序指标,rank全部为1
select name,sum(cost) s1, rank() over()
from business
group by name;
结果:
name s1 rank_window_0
tony 94 1
neil 92 1
mart 299 1
jack 176 1
使用外部order by 对分组内的函数进行排序
select name,sum(cost) sa
from business
group by name
order by sa desc;
使用开窗函数order by,对分组函数进行排序
select name,sum(cost) s1, rank() over(order by sum(cost) desc) r1
from business
group by name;
注:这个两个结果等价。!!
更多推荐



所有评论(0)