Hive的Rank函数
一、函数说明
- RANK() 排序相同时会重复,总数不会变
- DENSE_RANK() 排序相同时会重复,总数会减少
- ROW_NUMBER() 会根据顺序计算
- PERCENT_RANK:百分比排序
二、示例说明
示例表:
(1)创建hive表并导入数据
create table score(
name string,
subject string,
score int)
row format delimited fields terminated by "\t";
load data local inpath '/opt/module/datas/score.txt' into table score;
(2)计算每门学科的成绩排名、
select *,rank() over(partition by subject order by score desc) r,dense_rank() over(partition by subject order by score desc) dr,row_number() over(partition by subject order by score desc) rr
fromscore;
查询结果:
注;表格可能有点错位,按序查看。
(3)求出每门学科前三名的学生
select *,r
from (select *,rank() over(partition by subject order by score desc) r,dense_rank() over(partition by subject order by score desc) dr,row_number() over(partition by subject order by score desc) rr
fromscore) as t2
where r<=3;
查询结果:
Hive的Rank函数相关推荐
- Hive之Rank函数
1.函数说明 RANK() 排序相同时会重复,总数不会变 DENSE_RANK() 排序相同时会重复,总数会减少 ROW_NUMBER() 会根据顺序计算 First_VALUE()取当前窗口第一个值 ...
- 2021年大数据Hive(七):Hive的开窗函数
全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的开窗函数 一.窗口函数 ROW_NUMBER,RANK ...
- hive的row_number()函数
hive的row_number()函数 功能 用于分组,比方说依照uuid分组 组内可以依照某个属性排序,比方说依照uuid分组,组内按照imei排序 语法为row_number() over (pa ...
- Hive内置函数与常用函数汇总
目录 Hive内置函数汇总 字符函数(字符串操作) 数学函数 集合函数 类型转换函数 日期函数 条件函数 聚合函数 表生成函数 辅助功能类函数 数据屏蔽函数(从Hive 2.1.0开始) Hive常用 ...
- 大数据Hive(七):Hive的开窗函数
文章目录 Hive的开窗函数 一.窗口函数 ROW_NUMBER,RANK,DENSE_RANK 1.数据准备
- oracle sql时间排序函数,sql的rank函数
SQL SERVER 2008排序函数(窗口函数) 排序函数可以用来协助给结果集增加位置信息.SQL SERVER 2008只有四个排序函数,介绍如下: ROW_NUMBER:返回结果集中给定行的序号 ...
- Hive中row_number()函数用法详解及示例
目录 一.Hive 中row_number()函数介绍 二.使用示例 三.总结 四.附录 在Oracle中,我们经常会用到row_number() over(partition by clo1 ord ...
- Hadoop生态圈-hive编写自定义函数
Hadoop生态圈-hive编写自定义函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- 利用rank函数实现自动排序
Rank函数 1.作用:返回一个数字在数字列表中的排位.数字的排位是其大小与列表中其他值的比值(如果列表已排过序,则数字的排位就是它当前的位置). 2.语法:RANK(number,ref,order ...
- excel排名_WPS-Excel表格实用技巧——排位排名函数(RANK函数)的使用
平时使用excel表格处理数据时经常会用到排序功能,一般使用"升序"和"降序"工具按钮就可以完成简单的排序任务,但是当我们遇到相同数值在总体中的排名时,简单的& ...
最新文章
- android google 下拉刷新 csdn,android SwipeRefreshLayout google官方下拉刷新控件
- Solidworks2017安装与破解
- django中判断当前user具有是否有对模块的增删改查权限
- oracle group by用法
- 小学数学闯关游戏 java代码_Java语言实现小学数学练习
- vue xxx was assigned to but it has no setter.
- 浪潮在美发布InCloudRail超融合一体机,助力数据中心平滑上云
- m7405d粉盒清零方法_联想打印机计数器怎么清零?一体机硒鼓怎么清零?看这一篇就够...
- 2020统计局的行政划分表_湖州市有几个区和县?湖州市2020年县级以上区划名单...
- 作死把mysql root用户的权限给去掉了或者忘记密码了怎么办
- jQuery的empty、remove、detach区别
- 服务提供者框架理解草图
- 史上最全jquery视频教程
- java se官网_Java下载|Java SE Development Kit官方下载-太平洋下载中心
- php dtu,什么是DTU DTU知识普及基础篇
- 【山大智云开发日志】项目安装与部署
- python最简单的语言_Python语言的简单实用小工具
- 一会通一会不通 一台设备ping_局域网 一会ping的通,一会ping不通???
- 震惊!拼多多出现大Bug:100无门槛券随便领 黑产团伙盗取数千万元
- MAILBOX函数的使用