create table tmp
(name string,class tinyint,cooperator_name string,score tinyint
)
row format delimited fields terminated by '|';
adf|3|测试公司1|45
asdf|3|测试公司2|55
cfe|2|测试公司2|74
3dd|3|测试公司5|n
fda|1|测试公司7|80
gds|2|测试公司9|92
ffd|1|测试公司10|95
dss|1|测试公司4|95
ddd|3|测试公司3|99
gf|3|测试公司9|99

rows between

rows between ... and ...控制窗口函数的范围
unbounded 无边界
preceding 往前
following 往后
unbounded preceding 往前所有行
2 preceding 往前2行
unbounded following 往后所有行
2 following 往后2行
current row 当前行
--从(无边界)第一行到当前行进行累加
select score,sum(score) over(order by score rows between unbounded preceding and current row) as s from tmp;
--从前2行到当前行进行累加
select score,sum(score) over(order by score rows between 2 preceding and current row) as s from tmp;
--前2行+当前行+后面所有行进行累加
select score,sum(score) over(order by score rows between 2 preceding and unbounded following) as s from tmp;
--当前行到后一行进行累加
select score,sum(score) over(order by score rows between current row and 1 following) as s from tmp;
--第一行到当前行进行累加,如果当前行的值和后一行的值相同的话,当前行的累加结果取的是后一行的累加结果(和当前行相同score值的所有行都会包含进去)
select score,sum(score) over(order by score) as s from tmp;

range between

range between ... and ...按照列值限制窗口的大小
 --比如当前行score的值为200,窗口分区内score值满足200-100 到 200+200,(100-400)这个范围的所有值进行累加
sum(score) over(order by score range between 100 preceding and 200 following)
--score值满足当前行score值+1条件的所有行累加
select score,sum(score) over(order by score range between current row and 1 following) as s from tmp;

hive rows between和range between使用相关推荐

  1. 窗口函数rows between 、range between的使用

    1 rows between rows between 控制窗口函数的范围 使用rows between可以根据自己的需求任意的控制窗口函数的范围 UNBOUNDED :不受控的,无限的: PRECE ...

  2. HIVE SQL 聚合函数与 rows between / range between详解

    一.rows between 与 range between 用法 1. 相关关键词解析 unbounded 无边界 preceding 往前 following 往后 unbounded prece ...

  3. MYSQL窗口函数(Rows Range)——滑动窗口函数用法

    语法介绍 窗口函数语法: <窗口函数> over (partition by <用于分组的列名> order by <用于排序的列名> rows/range子句&l ...

  4. MySQL Range Optimization

    8.2.1.3 Range Optimization MYSQL的Range Optimization的目的还是尽可能的使用索引 The range access method uses a sing ...

  5. 2000个软件开发领域的高频特殊词及精选例句

    1101.单词 uuids 的匹配文本: For example, when accessing /_uuids, you get a list of UUIDs from the system. G ...

  6. opencv mat用数组初始化_10、OpenCV中图像和Mat类型(一)

    Mat类型可以被认为是OpenCV库的核心. OpenCV库中绝大多数的函数都是Mat类的成员,以Mat作为参数,或者Mat作为返回值. Mat类用于表示任意维数的密集数组.即使对于数组中的该条目为零 ...

  7. c#操作Word文件 导出数据到word文档 (table 书签方式)

    1.添加一个table 显示成问答两列 using System; using System.Collections.Generic; using System.Data; using System. ...

  8. Index Condition Pushdown Optimization

    Index Condition Pushdown (ICP) is an optimization for the case where MySQL retrieves rows from a tab ...

  9. 关系型数据库是如何运作的

    一说到关系型数据库,我总感觉缺了点什么.如果你尝试透过"关系型数据库是如何运作的"的关键词句来进行搜索,其搜索结果是少量的而且内容是简短的.难道说是由于它已经太老旧而已经不再流行吗 ...

最新文章

  1. python方向-Python发展的4个方向
  2. 【docker】常用命令
  3. POJ2301+水~~~~~~
  4. TCP长连接,短连接
  5. mqtt 域名连接_中国移动OneNet物联网平台,如何使用MQTT协议,进行连接
  6. Java面向对象(20)--接口
  7. 最热门的10个Java微服务框架
  8. har文件解析工具_嵌入式MCU也能跑AI?STM32 Cube.AI工具包使用初探
  9. add()方法和Put()方法的差别
  10. Linux部署安装JDK
  11. html转换pdf中文失败,解决html导出pdf中文乱码问题的正确姿势
  12. log4j打印不出日志_日志框架详细解读
  13. 使用rmmod无法卸载驱动,强制卸除的两种方法
  14. 石墨烯和富勒烯的区别?-供应石墨烯微片粉末/单层的多孔石墨烯前驱物/三维石墨烯网络结构复合材料块体定制
  15. LittleVGL--07lv_obj基础对象介绍、API 接口、例程演示
  16. Python基础教程
  17. 手把手教你,抖音去水印-有手就能学会
  18. 我来一下对比阿里云服务器和腾讯云服务器的优劣和区别
  19. idea插件 之~~~~mybatisx(忍者鸟)、lombox(小辣椒)
  20. PSGAN 网络再修改

热门文章

  1. endnote参考文献格式
  2. FileUp(文件上传类)
  3. 百度地图API的接入
  4. python自考_让我们一起来看看自学Python人的心声(附学习教程)
  5. html+css实现哔哩哔哩游戏网页
  6. win10家庭版可以用c语言,手把手教你通过bat批处理开启win10家庭版组策略的图文教程-系统操作与应用 -亦是美网络...
  7. 【计算机网络】互联网概述
  8. 【SSO单点登录】ticket+token+redis 实现sso单点登录 防重放、防盗用、防篡改
  9. 一个简单的内存读写带宽测试程序
  10. 十个CSS3动画工具,你必须收藏!