hive开窗函数
hive开窗函数
窗口函数
数据准备
1 jx 20
2 zx 24
3 yx 18
4 wz 10
5 yy 34
6 wy 25
create table t (> id int,> name string,> age int> )> row format delimited fields terminated by ' ';
load data inpath '/data/data.txt' into table t;

ROW_NUMBER
ROW_NUMBER 从1开始,生成分组内记录的数据
select id, name, age, row_number() over(order by age desc) num from t;
结果展示
id name age num
5 yy 34 1
6 wy 25 2
2 zx 24 3
1 jx 20 4
3 yx 18 5
4 wz 10 6
RANK 和 DENSE_RANK
RANK生成数据在分组中的排名,排名相等的会在名次中留下空位
DENSE_RANK 生成数据在分组中的排名,排名相等的不会留下空位
select
id, name, age,
rank() over(order by age desc) num1,
dense_rank() over(order by age desc) num2,
row_number() over(order by age desc) num3
from t;
结果展示(中途插入数据忘记覆盖原数据了,但是不影响展示结果)
id name age num1 num2 num3
5 yy 34 1 1 1
5 yy 34 1 1 2
6 wy 25 3 2 3
6 wy 25 3 2 4
2 zx 24 5 3 5
2 zx 24 5 3 6
1 jx 20 7 4 7
7 hn 20 7 4 8
1 jx 20 7 4 9
3 yx 18 10 5 10
3 yx 18 10 5 11
4 wz 10 12 6 12
4 wz 10 12 6 13
分析窗口函数
SUM
结果和order by相关,默认为升序
select id,name,age,sum(age)over(order by age) sum from t;
结果展示
id name age sum
4 wz 10 10
3 yx 18 28
1 jx 20 68
7 hn 20 68
2 zx 24 92
6 wy 25 117
5 yy 34 151
如果没有orger by 则默认将分区内所有的数据进行sum
select id,name,age,sum(age)over() sum from t;
结果展示
id name age sum
1 jx 20 151
2 zx 24 151
3 yx 18 151
4 wz 10 151
5 yy 34 151
6 wy 25 151
7 hn 20 151
如果不指定rows between,默认从起点到当前行
rows between的含义
- preceding : 往前
- following : 往后
- current row : 当前行
- unbounded : 起点
- unbounded preceding : 默认从前面的起点
- unbounded following : 默认到后面的终点
从起点到终点进行sum
select id, name, age, sum(age)over(order by age rows between unbounded preceding and current row) sum from t;
结果展示
id name age sum
4 wz 10 10
3 yx 18 28
1 jx 20 48
7 hn 20 68
2 zx 24 92
6 wy 25 117
5 yy 34 151
对前三行和本行和下一行进行sum
select id, name, age, sum(age)over(order by age rows between 3 preceding and 1 following) sum from t;
结果展示
id name age sum
4 wz 10 28
3 yx 18 48
1 jx 20 68
7 hn 20 92
2 zx 24 107
6 wy 25 123
5 yy 34 103
对当前行到终点进行sum
select id, name, age, sum(age)over(order by age rows between current row and unbounded following) sum from t;
结果展示
id name age sum
4 wz 10 151
3 yx 18 141
1 jx 20 123
7 hn 20 103
2 zx 24 83
6 wy 25 59
5 yy 34 34
其余还有avg、min、max和sum的用法一样
这里只再展示一个avg
select id,name,age,avg(age)over(order by age) sum from t;
结果展示
id name age sum
4 wz 10 10.0
3 yx 18 14.0
1 jx 20 17.0
7 hn 20 17.0
2 zx 24 18.4
6 wy 25 19.5
5 yy 34 21.571428571428573相关文章:
hive开窗函数
hive开窗函数 窗口函数 数据准备 1 jx 20 2 zx 24 3 yx 18 4 wz 10 5 yy 34 6 wy 25create table t (> id int,> name string,> age int> )> row format delimited fields terminated by ; load data inpath /data/data.txt into table t;ROW_NUMBER ROW_N…...
安全多方计算系列笔记1——前世今生
这一系列笔记参考了绿盟科技研究通讯的安全多方计算文章,及其他。 首先看定义:在不泄露参与方原始输入数据的前提下,允许分布式参与方合作计算任意函数,输出准确的计算结果。 起源 安全多方计算问题及解首先由姚期智(…...
16- 梯度提升分类树GBDT (梯度下降优化) (算法)
梯度提升算法 from sklearn.ensemble import GradientBoostingClassifier clf GradientBoostingClassifier(subsample0.8,learning_rate 0.005) clf.fit(X_train,y_train) 1、交叉熵 1.1、信息熵 构建好一颗树,数据变的有顺序了(构建前,…...
SpringCloud+Nacos+Gateway
SpringCloudNacosGatewaySpringBoot整合GatewayNacos一. 环境准备1. 版本环境2. 服务环境二. 实战1.创建用户服务2.创建订单服务3.创建网关服务4.测试三. 避坑指南问题1--503问题问题2--网关服务启动报错SpringBoot整合GatewayNacos 本篇文章只演示通过gateway网关服务访问其他…...
高通开发系列 - linux kernel内核升级msm-3.18升至msm-4.9(2)
By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 返回高通开发系列 - 总目录 前面我们升级了msm-4.9内核系统正常启动了,文件系统也正常工作,但那是使用了老基线的文件系统,其yocto…...
Spring依赖注入与反转控制到底是个啥?
目录 1. 引言 2. 管中窥豹 3.1 Spring 依赖注入 3.2 Bean 的依赖注入方式有两种 4. 总结 1. 引言 此文目的是用通俗易懂的语言讲清楚什么是依赖注入与反转控制,在看了大量的博客文章后归纳总结,便于后续巩固!我相信,大多数…...
Linux Shell脚本讲解
目录 Shell脚本基础 Shell脚本组成 Shell脚本工作方式 编写简单的Shell脚本 Shell脚本参数 Shell脚本接收参数 Shell脚本判断用户参数 文件测试与逻辑测试语句 整数测试比较语句 字符串比较语句 Shell流程控制 if条件判断语句 单分支 双分支 多分支 for循环语句…...
Linux:用户空间非法指针coredump简析
1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. 背景 本文分析基于 ARM32 架构,Linux-4.14 内核代码。 3. 问题分析 3.1 测试范例 void main(void) {*(int *)0 8; }运行程序会 …...
带你玩转Jetson之Deepstream简明教程(四)DeepstreamApp如何使用以及用于工程验证。
1.DeepstreamApp是什么? 如果你安装完毕deepstream整体框架,会在你的系统执行目录内有可执行文件,文件名字是deepstream-app。这是一个可执行脚本文件,通过deepstream框架中的代码在安装的时候编译后install到系统根目录内。 此脚…...
快速搭建个人在线书库,随时随地畅享阅读!
前边我们利用NAS部署了个人的导航页、小说站、云笔记,今天,我们再看看怎么部署一个个人的在线书库。 相信很多朋友都在自己的电脑中收藏了大量的PDF、MOBI等格式的电子书籍,但是一旦换了一台设备,要么是无法翻阅,要么…...
电子纸墨水屏的现实应用场景
电子纸挺好个东西,大家都把注意力集中在商超场景 其实还有更多有趣的场景方案可用,价值也不小,比如: 一、仓库场景 通过亮灯拣选,提高仓库作业效率 二、仓库循环使用标签 做NFC类发卡式应用,替代传统纸…...
常量const、引用、指针的大杂烩
文章目录1 普通引用1.1 对普通值的普通引用1.2 对常量值的普通引用1.3 对普通指针的普通引用1.4 对常量指针的普通引用1.5 对指针常量的普通引用1.6 对指向常量的指针常量的普通引用2 常量引用2.1 对普通值的常量引用2.2 对常量值的常量引用2.3 对普通指针的常量引用2.4 对常量…...
宝塔搭建实战php开源likeadmin通用管理移动端uniapp源码(四)
大家好啊,我是测评君,欢迎来到web测评。 上一期给大家分享了pc端的部署方式,今天来给大家分享uniapp端在本地搭建,与打包发布到宝塔的方法。感兴趣的朋友可以自行下载学习。 技术架构 vscode node16 vue3 uniapp vite types…...
Hive的分区表与分桶表内部表外部表
文章目录1 Hive分区表1.1 Hive分区表的概念?1.1.1 分区表注意事项1.2 分区表物理存储结构1.3 分区表使用场景1.4 静态分区表是什么?1.4.1 静态分区表案例1.4.2 分区表练习一1.4.3 分区操作1.5 动态分区表是什么?1.5.1 动态态分区表案例&#…...
和数集团打造《神念无界:源起山海》,诠释链游领域创新与责任
首先,根据网上资料显示,一部《传奇》,二十年热血依旧。 《传奇》所缔造的成绩,承载的是多少人的青春回忆,《传奇》无疑已经在游戏史上写下了浓墨重彩的一笔。 相比《传奇》及背后的研发运营公司娱美德名声大噪&#x…...
小白入门模拟IC设计,如何快速学习?
众所周知,模拟电路很难学。以最普遍的晶体管来说,我们分析它的时候必须首先分析直流偏置,其次在分析交流输出电压。可以说,确定工作点就是一项相当麻烦的工作(实际中来说),晶体管的参数多、参数…...
51单片机——中断系统之外部中断实验,小白讲解,相互学习
中断介绍 中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的,中断功能的存在,很大程度上提高了单片机处理外部或内部事件的能力。它也是单片机最重要的功能之一,是我们学些单片机必须要掌握的。 为了更容易的理解中断概念&…...
如何设计一个秒杀系统
秒杀系统要如何设计? 前言 高并发下如何设计秒杀系统?这是一个高频面试题。这个问题看似简单,但是里面的水很深,它考查的是高并发场景下,从前端到后端多方面的知识。 秒杀一般出现在商城的促销活动中,指定…...
厄瓜多尔公司注册方案
简介: 经济概况与商机 厄瓜多尔是世界上第74大国家,是南美西部国家,与哥伦比亚,秘鲁和太平洋接壤。厄瓜多尔地处世界中心,地理位置优越,地理位置优越-赤道线零纬度,使其成为通往太平洋的理想枢…...
安全渗透环境准备(工具下载)
数据来源 01 一些VM虚拟机的安装 攻击机kali: kali官网 渗透测试工具Kali Linux安装与使用 kali汉化 虚拟机网络建议设置成NAT模式,桥接有时不稳定。 靶机OWASP_Broken_Web_Apps: 迅雷下载 网盘下载 安装教程 开机之后需要登录&am…...
RT-Thread开发实战(8)— 基于SPI驱动TFTLCD实现动态数据可视化
1. 从零开始玩转SPI驱动TFTLCD 第一次用RT-Thread驱动TFTLCD屏幕时,我盯着那堆密密麻麻的引脚直发懵。后来才发现,只要搞明白SPI通信和屏幕驱动芯片的关系,这事儿其实比想象中简单多了。我们这次要对付的是ST7789V2这款驱动芯片,它…...
智慧交通系统安全漏洞深度解析:从明文传输到固件攻击的防御启示
1. 项目概述:一次对智慧交通“神经末梢”的深度安全审视2014年的DEF CON黑客大会,向来是安全研究的风向标。那一年,IOActive的首席技术官Cesar Cerrudo在台上展示的,不是某个炫酷的软件漏洞,而是一个关于我们每天经过的…...
为什么电路中的阻抗需要引入复数?
1、方便计算说法▼无他,就是图个方便计算而已。请看下题,求如图所示电路中电流的大小。电流的频率与电压频率相同,无非就是求解幅值的变化和相位的变化。▼引用一下以前我的一个知乎回答,数学中的数先是从一维数轴开始。▼因电路的…...
在 Python 中使用 comtypes 时,大小写通常必须保持精确
wb excel.Workbooks.Open(file_path)print(f"文件已打开: {file_path}")后面的方法,大小写可以写错吗?这是一个非常经典的问题,答案是:在 Python 中使用 comtypes 时,大小写通常必须保持精确,不…...
基于星座匹配的眼动追踪角膜反射检测技术解析
1. 项目概述:基于星座匹配的角膜反射检测框架在眼动追踪技术领域,瞳孔-角膜反射(P-CR)方法一直是最可靠的解决方案之一。这种方法的核心在于准确检测和匹配角膜反射点(glints)——即红外LED在角膜表面形成的…...
同样是投手为什么分析能力相差很大
做广告投放分析能力是核心能力账户常见三个终极问题: 1:不起量 2:成本高 3:量不够简单的说,投手要做的,是从纷繁复杂的账户信息中,整理出有用的数据,并基于它们给出合理的假设&#…...
【2026最硬核LLM加速框架】:仅用7行Triton内核重写Attention,吞吐翻3.2倍——SITS现场调试录屏首曝
更多请点击: https://intelliparadigm.com 第一章:AI原生性能优化:SITS 2026 LLM推理加速实战技巧 在 SITS 2026 基准测试中,LLM 推理延迟与显存带宽利用率高度相关。AI 原生优化强调从计算图调度、内核融合到硬件亲和性配置的端…...
创优必看!鲁班奖工程的八项基本要求
创优必看!鲁班奖工程的八项基本要求 作为建筑工程行业的最高级别奖项,鲁班奖的评选工作严格贯彻执行国家有关基本建设的法律、法规和方针政策,以及国家、行业现行的技术标准、施工规范和技术规程。那么,什么样的工程才能荣获鲁班奖呢? 本文根据《鲁班奖评选工作细则》总…...
Windows Cleaner:专业级Windows系统优化终极指南
Windows Cleaner:专业级Windows系统优化终极指南 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner Windows Cleaner是一款专为Windows系统设计的开源系统…...
2026AI医疗急救系统落地实战手册(附卫健委备案模板+边缘算力配置清单)
更多请点击: https://intelliparadigm.com 第一章:2026AI医疗急救系统的战略定位与政策演进全景 2026AI医疗急救系统已超越技术工具范畴,成为国家公共卫生韧性建设的核心基础设施。其战略定位聚焦于“黄金10分钟”智能响应闭环——通过边缘端…...
