開始,依照顺序,生成分组内记录的序列
–比方,依照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的更多相关文章

  1. Hive分析窗体函数之LAG,LEAD,FIRST_VALUE和LAST_VALUE

    环境信息:Hive版本号为apache-hive-0.14.0-binHadoop版本号为hadoop-2.6.0Tez版本号为tez-0.7.0 创建表: ),第三个參数为默认值(当往上第n行为NU ...

  2. Hive分析窗体函数之SUM,AVG,MIN和MAX

    行 AVG(pnum) OVER(PARTITION BYpolno ORDER BY createtime ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOW ...

  3. Hive学习之路 (十四)Hive分析窗口函数(二) NTILE,ROW_NUMBER,RANK,DENSE_RANK

    概述 本文中介绍前几个序列函数,NTILE,ROW_NUMBER,RANK,DENSE_RANK,下面会一一解释各自的用途. 注意: 序列函数不支持WINDOW子句.(ROWS BETWEEN) 数据 ...

  4. sql server 中用于排名的三个函数 row_number() ,RANK() 和 DENSE_RANK()

    row_number()  ,RANK() 和  DENSE_RANK()  三个配合over()  使用排名 只是只是计算方式不一样,语法基本一样 语法: ROW_NUMBER() OVER (OR ...

  5. Oracle-分析函数之排序值rank()和dense_rank()

    聚合函数RANK 和 dense_rank 主要的功能是计算一组数值中的排序值. 在9i版本之前,只有分析功能(analytic ),即从一个查询结果中计算每一行的排序值,是基于order_by_cl ...

  6. Hive(七)Hive分析窗口函数

    一数据准备 cookie1,2015-04-10,1 cookie1,2015-04-11,5 cookie1,2015-04-12,7 cookie1,2015-04-13,3 cookie1,20 ...

  7. 关于Hive中常用函数需要注意的点小合集

    1.COALESCE( value1,value2,... ) The COALESCE function returns the fist not NULL value from the list ...

  8. SQL2005四个排名函数(row_number、rank、dense_rank和ntile)的比较

    排名函数是SQL Server2005新加的功能.在SQL Server2005中有如下四个排名函数: .row_number .rank .dense_rank .ntile 下面分别介绍一下这四个 ...

  9. SQL Server:排名函数row_number,rank,dense_rank,ntile详解

    1.Row_Number函数 row_number函数大家比较熟悉一些,因为它的用途非常的广泛,我们经常在分页与排序中用到它,它的功能就是在每一行中生成一个连续的不重复的序号 例如: select S ...

随机推荐

  1. jquery自动触发click事件

    $("").trigger("click"); //jquery的自动触发事件

  2. JS学习笔记 - fgm练习 - 网页换肤

    总结: 1. 点击按钮,div内部变色,边框保持颜色不变. 实现原理:其实本来就把background 和 border 分别设置了同一个颜色,看似是一个整体,其实本来就是分开的. 那么点击的时候,只 ...

  3. (6)uboot具体解释——关闭缓存和mmu

    uboot具体解释--关闭缓存和mmu 当设置完时钟分频以后,uboot就会运行cpu_init_crit汇编函数,这个函数的主要作用就是关闭缓存和mmu.然后调用lowlevel_init函数进行系 ...

  4. Oracle数据库(二)

    指令来练习 1.password,修改密码输入旧命令,在输入新的命令 2.查询当前用户 show user: 2.查询用户下的所有对象,使用tab表,tab是每一个用户都有的 select *from ...

  5. C语言深度剖析-----内存管理的艺术

    动态内存分配 为什么使用动态内存分配 例:记录卖出的商品 卖出商品最多只能记录1000个 两种改进的方法 都需要动态内存分配 第二种方法需要重置内存 calloc和realloc realloc重置内 ...

  6. IE block my cookie in iframe

    ---恢复内容开始--- There is a severe bug that a leader figured it out in a published project. In IE11, the ...

  7. [Angular 2] BYPASSING PROVIDERS IN ANGULAR 2

    Artical --> BYPASSING PROVIDERS IN ANGULAR 2 Here trying to solve one problem: On the left hand s ...

  8. Android入门——Bitmap和BitmapFactory

    我们都知道一个App的成败,首先取决于是否具有优秀的UI,而除了交互功能之外还需要丰富的图片背景和动画去支撑.在开发中我们应用到的图片不仅仅包括.png..gif..9.png..jpg和各种Draw ...

  9. 《SPA设计与架构》之客户端路由

    原文 简书原文:https://www.jianshu.com/p/4d83475f71da 大纲 1.传统路由 2.SPA导航 3.客户端路由器的工作机制 1.传统路由 在传统Web应用程序中,导航 ...

  10. word多出空标题,样式是列出段落 - -显示时,选择不勾选“隐藏文字”

    word多出空标题,样式是列出段落