hive分组排序函数分组取top10

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

hive分组排序函数分组取top10
hive分组排序函数分组取top10
语法:row_number() over( partition by 字段a order by 计算项b desc) rank
--这⾥rank是别名
Partition by:类似hive的建表,分区的意思
这⾥按字段a分区,对计算项b进⾏降序排序
实例:
要取top10品牌,各品牌的top10渠道,各品牌的top10渠道中各渠道的top10档期
1)取top10品牌
Select 品牌,count/sum/其他() as num from tb_name order by num limit 10;
2)取top10品牌下各品牌的top10渠道
Select a.* from(
Select 品牌,渠道,count/sum/其他() as num, row_number() over(partition by 品牌,order by num desc) rank
From tb_name
Where 品牌限制条件
Group by 品牌,渠道
)a
Where a.rank<=10;
3)取top10品牌下各品牌的top10渠道中各渠道的top10档期
Select a.* from(
Select 品牌,渠道,档期,count/sum/其他() as num, row_number() over(partition by 品牌,渠道,order by num desc) rank From tb_name
Where 品牌,渠道限制条件
Group by 品牌,渠道,档期
)a
Where a.rank<=10;。

相关文档
最新文档