一、函数说明

  • 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函数相关推荐

  1. Hive之Rank函数

    1.函数说明 RANK() 排序相同时会重复,总数不会变 DENSE_RANK() 排序相同时会重复,总数会减少 ROW_NUMBER() 会根据顺序计算 First_VALUE()取当前窗口第一个值 ...

  2. 2021年大数据Hive(七):Hive的开窗函数

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的开窗函数 一.窗口函数 ROW_NUMBER,RANK ...

  3. hive的row_number()函数

    hive的row_number()函数 功能 用于分组,比方说依照uuid分组 组内可以依照某个属性排序,比方说依照uuid分组,组内按照imei排序 语法为row_number() over (pa ...

  4. Hive内置函数与常用函数汇总

    目录 Hive内置函数汇总 字符函数(字符串操作) 数学函数 集合函数 类型转换函数 日期函数 条件函数 聚合函数 表生成函数 辅助功能类函数 数据屏蔽函数(从Hive 2.1.0开始) Hive常用 ...

  5. 大数据Hive(七):Hive的开窗函数

    文章目录 Hive的开窗函数 一.窗口函数 ROW_NUMBER,RANK,DENSE_RANK 1.数据准备

  6. oracle sql时间排序函数,sql的rank函数

    SQL SERVER 2008排序函数(窗口函数) 排序函数可以用来协助给结果集增加位置信息.SQL SERVER 2008只有四个排序函数,介绍如下: ROW_NUMBER:返回结果集中给定行的序号 ...

  7. Hive中row_number()函数用法详解及示例

    目录 一.Hive 中row_number()函数介绍 二.使用示例 三.总结 四.附录 在Oracle中,我们经常会用到row_number() over(partition by clo1 ord ...

  8. Hadoop生态圈-hive编写自定义函数

    Hadoop生态圈-hive编写自定义函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  9. 利用rank函数实现自动排序

    Rank函数 1.作用:返回一个数字在数字列表中的排位.数字的排位是其大小与列表中其他值的比值(如果列表已排过序,则数字的排位就是它当前的位置). 2.语法:RANK(number,ref,order ...

  10. excel排名_WPS-Excel表格实用技巧——排位排名函数(RANK函数)的使用

    平时使用excel表格处理数据时经常会用到排序功能,一般使用"升序"和"降序"工具按钮就可以完成简单的排序任务,但是当我们遇到相同数值在总体中的排名时,简单的& ...

最新文章

  1. android google 下拉刷新 csdn,android SwipeRefreshLayout google官方下拉刷新控件
  2. Solidworks2017安装与破解
  3. django中判断当前user具有是否有对模块的增删改查权限
  4. oracle group by用法
  5. 小学数学闯关游戏 java代码_Java语言实现小学数学练习
  6. vue xxx was assigned to but it has no setter.
  7. 浪潮在美发布InCloudRail超融合一体机,助力数据中心平滑上云
  8. m7405d粉盒清零方法_联想打印机计数器怎么清零?一体机硒鼓怎么清零?看这一篇就够...
  9. 2020统计局的行政划分表_湖州市有几个区和县?湖州市2020年县级以上区划名单...
  10. 作死把mysql root用户的权限给去掉了或者忘记密码了怎么办
  11. jQuery的empty、remove、detach区别
  12. 服务提供者框架理解草图
  13. 史上最全jquery视频教程
  14. java se官网_Java下载|Java SE Development Kit官方下载-太平洋下载中心
  15. php dtu,什么是DTU DTU知识普及基础篇
  16. 【山大智云开发日志】项目安装与部署
  17. python最简单的语言_Python语言的简单实用小工具
  18. 一会通一会不通 一台设备ping_局域网 一会ping的通,一会ping不通???
  19. 震惊!拼多多出现大Bug:100无门槛券随便领 黑产团伙盗取数千万元
  20. MAILBOX函数的使用

热门文章

  1. doGetBean方法——(四)
  2. CUDA中的Warp Shuffle
  3. 您未被授权查看该页; HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。
  4. 安卓手机变鼠标图文教程
  5. Web自动化漏洞检测工具:Xray
  6. js仿百度文库文档上传页面的分类选择器_第二版
  7. 职场技巧:内向者如何修炼成社交达人
  8. java:编写一个程序完成:完成在银行的存款和取款操作。在定义银行类时,若取款数大于余额则作为异常处理。
  9. Git-删除文件后找回
  10. 【推理引擎】ONNXRuntime 的架构设计