Hive分析窗体函数之NTILE,ROW_NUMBER,RANK和DENSE_RANK
開始,依照顺序,生成分组内记录的序列
–比方,依照pnum降序排列。生成分组内每天的pnum名次
ROW_NUMBER() 的应用场景许多。再比方,获取分组内排序第一的记录等等。
SELECT polno,
createtime,
pnum,
ROW_NUMBER() OVER(PARTITION BY polno ORDER BY pnum desc) AS rn
FROM windows_func;
结果:
polno createtime pnum rn
P066666666666 2016-02-15 20 1
P066666666666 2016-02-13 9 2
P066666666666 2016-02-10 6 3
P066666666666 2016-02-16 2 4
P066666666666 2016-02-11 2 5
P066666666666 2016-02-14 2 6
P066666666666 2016-02-12 1 7
P088888888888 2016-02-15 12 1
P088888888888 2016-02-13 9 2
P088888888888 2016-02-16 3 3
P088888888888 2016-02-11 3 4
P088888888888 2016-02-14 3 5
P088888888888 2016-02-12 1 6
P088888888888 2016-02-10 1 7
RANK 和 DENSE_RANK
—RANK() 生成数据项在分组中的排名,排名相等会在名次中留下空位
—DENSE_RANK() 生成数据项在分组中的排名,排名相等会在名次中不会留下空位
SELECT polno,
createtime,
pnum,
RANK() OVER(PARTITION BY polno ORDER BY pnum desc) AS rn1,
DENSE_RANK() OVER(PARTITION BY polno ORDER BY pnum desc) AS rn2,
ROW_NUMBER() OVER(PARTITION BY polno ORDER BY pnum DESC) AS rn3
FROM windows_func WHERE polno ='P066666666666';
结果:
polno createtime pnum rn1 rn2 rn3
P066666666666 2016-02-15 20 1 1 1
P066666666666 2016-02-13 9 2 2 2
P066666666666 2016-02-10 6 3 3 3
P066666666666 2016-02-11 2 4 4 4
P066666666666 2016-02-14 2 4 4 5
P066666666666 2016-02-16 2 4 4 6
P066666666666 2016-02-12 1 7 5 7
Hive分析窗体函数之NTILE,ROW_NUMBER,RANK和DENSE_RANK的更多相关文章
- Hive分析窗体函数之LAG,LEAD,FIRST_VALUE和LAST_VALUE
环境信息:Hive版本号为apache-hive-0.14.0-binHadoop版本号为hadoop-2.6.0Tez版本号为tez-0.7.0 创建表: ),第三个參数为默认值(当往上第n行为NU ...
- Hive分析窗体函数之SUM,AVG,MIN和MAX
行 AVG(pnum) OVER(PARTITION BYpolno ORDER BY createtime ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOW ...
- Hive学习之路 (十四)Hive分析窗口函数(二) NTILE,ROW_NUMBER,RANK,DENSE_RANK
概述 本文中介绍前几个序列函数,NTILE,ROW_NUMBER,RANK,DENSE_RANK,下面会一一解释各自的用途. 注意: 序列函数不支持WINDOW子句.(ROWS BETWEEN) 数据 ...
- sql server 中用于排名的三个函数 row_number() ,RANK() 和 DENSE_RANK()
row_number() ,RANK() 和 DENSE_RANK() 三个配合over() 使用排名 只是只是计算方式不一样,语法基本一样 语法: ROW_NUMBER() OVER (OR ...
- Oracle-分析函数之排序值rank()和dense_rank()
聚合函数RANK 和 dense_rank 主要的功能是计算一组数值中的排序值. 在9i版本之前,只有分析功能(analytic ),即从一个查询结果中计算每一行的排序值,是基于order_by_cl ...
- Hive(七)Hive分析窗口函数
一数据准备 cookie1,2015-04-10,1 cookie1,2015-04-11,5 cookie1,2015-04-12,7 cookie1,2015-04-13,3 cookie1,20 ...
- 关于Hive中常用函数需要注意的点小合集
1.COALESCE( value1,value2,... ) The COALESCE function returns the fist not NULL value from the list ...
- SQL2005四个排名函数(row_number、rank、dense_rank和ntile)的比较
排名函数是SQL Server2005新加的功能.在SQL Server2005中有如下四个排名函数: .row_number .rank .dense_rank .ntile 下面分别介绍一下这四个 ...
- SQL Server:排名函数row_number,rank,dense_rank,ntile详解
1.Row_Number函数 row_number函数大家比较熟悉一些,因为它的用途非常的广泛,我们经常在分页与排序中用到它,它的功能就是在每一行中生成一个连续的不重复的序号 例如: select S ...
随机推荐
- Vue 自定义全局消息框组件
消息弹框组件,默认3秒后自动关闭,可设置info/success/warning/error类型 效果图: 文件目录: Message.vue <template> <transit ...
- Java Web学习总结(4)——HttpServletResponse对象入门
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. request和response对象即然代表请求和响应,那我们 ...
- AJAX有关的请求协议及HTTP报文
URI:统一资源标识符 URI=URL+URNURL:统一资源定位符URN:统一资源名称 上边的图片编号对应下边的编号说明: 1.HTTP(占90%市场)/HTTPS/FTP 传输协议(可以理解为快递 ...
- python3 turtle 画国际象棋棋盘
python3 turtle 画国际象棋棋盘 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan import turt ...
- Spring5源码深度解析(一)之理解Configuration注解
代码地址:https://github.com/showkawa/spring-annotation/tree/master/src/main/java/com/brian 1.Spring体系结构 ...
- 5、regulator系统的概念及测试
概念:Regulator : 电源芯片, 比如电压转换芯片Consumer : 消费者,使用电源的部件, Regulator是给Consumer供电的machine : 单板,上面焊接有Regulat ...
- Spring Boot初步认识
Spring Boot 来源及背后 Spring Boot开发始于 2013 年,伴随Spring4.0而生,2014 年 4 月发布 1.0.0 版本.当前版本1.4.0,http://projec ...
- shiro实现登录安全认证(转)
shiro实现登录安全认证 shiro的优势,不需要再代码里面判断是否登录,是否有执行的权限,实现了从前端页面到后台代码的权限的控制非常的灵活方便 传统的登录认证方式是,从前端页面获取到用户输入的账号 ...
- linux下FAT32格式u盘只读的问题及解决方法
以下是网上看到的解决办法:http://blog.csdn.net/heqiuya/article/details/7870554 其实是掉电保护,之前挂在的SD变成了制度文件,只需要将SD卡重新挂载 ...
- HDU 1069 Monkey and Banana DP LIS
http://acm.hdu.edu.cn/showproblem.php?pid=1069 题目大意 一群研究员在研究猴子的智商(T T禽兽啊,欺负猴子!!!),他们决定在房顶放一串香蕉,并且给猴子 ...