编号函数

row_number ()

仅仅定义组内的数据进行编号 1 2 3 4

rank()

编号的时候 排序字段会参与编号相同的排序字段 标号一致, 总标号不变

dense_rank()

编号的时候 排序字段会参与编号相同的排序字段标号一致, 总标号有可能变小

习题练习

孙悟空 语文 87
孙悟空 数学 95
娜娜 英语 84
宋宋 语文 64
孙悟空 英语 68
宋宋 英语 84
婷婷 语文 65
娜娜 语文 94
宋宋 数学 86
婷婷 数学 85
娜娜 数学 56
婷婷 英语 78

1)先建表 导入数据

create table  tb_sub(
name string ,
subject string ,
score double
)
row format delimited fields terminated by "\t" ;
load data local inpath "/data/stu/" into table  tb_sub ;

2) 对每门科目的成绩进行排名

select
* ,
rank()  over(partition by subject  order by score desc) rn
from
tb_sub ;

打地鼠案列练习

u01,1,1
u01,2,0
u01,3,1
u01,6,1
u02,5,1
u02,6,0
u02,7,0
u02,1,1
u02,2,1
u03,4,1
u03,5,1
u03,6,0
u02,3,0
u02,4,1
u02,8,1
u01,4,1
u01,5,0
u02,9,1
u03,1,1
u03,2,1
u03,3,1

1) 建表 导入数据

 create table  tb_ds(
uid string ,
seq int  ,
m int
)
row format delimited fields terminated by "," ;
load data local inpath "/data/ds/" into table  tb_ds ;


2) 过滤掉没有命中的记录 , 进行分组 ,排序 , 编号

select
uid ,
seq ,
row_number()  over(partition by uid order by seq) rn
from
tb_ds
where  m = 1 ;


3)求出连续命中两次或两次以上的 uid

select
uid ,
max(cnt) mm     最大的 cnt
from
(select
uid , diff ,
count(1)  cnt    总个数
from
(select
uid ,
seq ,
row_number()  over(partition by uid order by seq) rn ,
(seq - (row_number()  over(partition by uid order by seq))) diff 求出命中的次数
from
tb_ds
where  m = 1)t
group by uid , diff
having cnt >=2)t1    总个数大于等于2的
group by uid  ;  过滤 uid

最终结果

Hive 编号函数相关推荐

  1. 打怪升级之小白的大数据之旅(六十七)<Hive旅程第八站:Hive的函数>

    打怪升级之小白的大数据之旅(六十七) Hive旅程第八站:Hive的函数 上次回顾 上一章,我们学习了如何对数据进行拆分–分区表与分桶表,使用分区表与分桶表,可以加快我们的查询效率..本章节是Hive ...

  2. 2021年大数据Hive(八):Hive自定义函数

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive自定义函数 一.概述 1.UDF(User-Define ...

  3. Hive常用函数大全一览

    Hive常用函数大全一览 1 关系运算 1.1 1.等值比较: = 1.2 2.不等值比较: 1.3 3.小于比较: < 1.4 4.小于等于比较: <= 1.5 5.大于比较: > ...

  4. sql 精读(三) 标准 SQL 中的编号函数示例

    编号函数概念 编号函数会根据每一行在指定窗口中的位置向该行分配整数值. RANK().DENSE_RANK() 和 ROW_NUMBER() 示例: WITH Numbers AS(SELECT 1 ...

  5. sql 精读(二) 标准 SQL 中的编号函数

    标准 SQL 中的编号函数 以下部分介绍了 BigQuery 支持的编号函数.编号函数是分析函数的一部分. 如需了解分析函数的工作原理,请参阅分析函数概念.如需了解编号函数的工作原理,请参阅编号函数概 ...

  6. 【Greenplum代码】记录一次不了解GP数据库编号函数使用方法导致的问题(1次疏忽 + 1次不必要 = 2次弯路)

    1. 问题描述 有这么一个需求,查询出来的数据需要显示相对的排序编号,还要进行分页操作,我首先想到的就是 ROW_NUMBER 函数,MySQL.Oracle 都有类似的编号函数,走起

  7. hive - 自定义函数(超详细步骤,手把手的交)

    用Java开发自定义函数,步骤: 1.eclipse上新建一个工程project(db2019): 2.导jar依赖包: db2019右键 --build path --configure... -- ...

  8. hive 开窗函数_Hive的架构剖析

    本文主要介绍Hive的架构和以及HQL的查询阶段,主要内容包括: Hive的架构 架构中的相关组件介绍 HQL的查询阶段 Hive的架构 hive的基本架构图如下图所示: 相关组件介绍 数据存储 Hi ...

  9. hive UDF函数取最新分区

    hive UDF函数取最新分区 1.pom文件 <dependencies><!-- https://mvnrepository.com/artifact/org.apache.hi ...

最新文章

  1. 1105 Spiral Matrix 给定数组向螺旋矩阵中填入数据
  2. 【Python】unicode' object is not callable
  3. Windows操作系统产品名与内部版本号的对应(windows版本号)
  4. 电池pack结构_3C锂电池pack中,使用弹片微针模组测试基本性能和大电流
  5. ruby 反射机制常用方法
  6. oracle里面有emp表么,Oracle自带表(EMP)SQL语句练习
  7. 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装
  8. Go语言中的注释类型和代码风格
  9. 分布式系统架构常识:CAP理论
  10. Java验证(javafx)
  11. mysql atlas路由_MySQL中间件 Atlas-1.0.3 安装记录
  12. firefox与IECss的区别
  13. python print退格_python退格输入
  14. 寻求 华中科大《机械控制工程基础》第五版习题参考答案
  15. 关于u盘文件或目录损坏且无法读取的解决方法
  16. ng test 运行报错SassError: Can‘t find stylesheet to import, 导致case 一个都没有执行
  17. Android百度语音集成——文字转语音
  18. 任务并行库(Task Parellel Library)parallel.for parallel.foreach、List、ConcurrentBag 并行集合、线程安全结合
  19. java 简单框架_最简单的Java框架
  20. 不允许sam账户和共享的匿名枚举_不允许SAM 帐户匿名枚举是什么意思?

热门文章

  1. vscode 程序员鼓励师_程序员鼓励师插件Rainbow Fart(彩虹屁)
  2. php 手机swf播放器,PHP实现使用优酷土豆视频地址获取swf播放器分享地址_PHP教程...
  3. 《中国民生银行天眼日志平台架构演进的平凡之路》阅读有感
  4. 2000年英语一真题及答案
  5. 2020年第二届全国高校计算机能力挑战赛Excel模拟题
  6. 【Java】 org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor
  7. VC++调节笔记本屏幕亮度(附源码)
  8. 苹果/Mac电脑软件卸载不了怎么办?
  9. 清华大学操作系统课程实验
  10. windows录屏_Windows及苹果电脑录屏攻略