hive开窗函数边界值ROWS BETWEEN 和 RANGE BETWEEN区别

目录

一、概念

[1.rows between ... and ...](#1.rows between ... and ...)

[2.range between ... and ...](#2.range between ... and ...)

二、语法

1.关键词含义


一、概念

1.rows between ... and ...

rows:指以行号来决定frame的范围,是物理意义上的行。

2.range between ... and ...

range:指以当前行在开窗函数中的值为根基,然后按照order by进行排序,最后根据range去加减上下界。是逻辑意义上的行。

二、语法

sql 复制代码
(ROWS | RANGE) BETWEEN (UNBOUNDED | [num]) PRECEDING AND ([num] PRECEDING | CURRENT ROW | (UNBOUNDED | [num]) FOLLOWING)
(ROWS | RANGE) BETWEEN CURRENT ROW AND (CURRENT ROW | (UNBOUNDED | [num]) FOLLOWING)
(ROWS | RANGE) BETWEEN [num] FOLLOWING AND (UNBOUNDED | [num]) FOLLOWING

1.关键词含义

sql 复制代码
CURRENT ROW :表示当前行
UNBOUNDED PRECEDING :表示窗口的起始边界是窗口中第一行之前的无限行,即初始行
UNBOUNDED FOLLOWING :表示窗口的起始边界是窗口中第一行之后的无限行,即末尾行
UNBOUNDED :无边界
PRECEDING :往前
FOLLOWING :往后
(num) PRECEDING :表示当前行之前的num行。
(num) FOLLOWING :表示当前行之后的num行
相关推荐
程序员梅雨4 小时前
【从零开始学习数据仓库 | 第二篇】: 拉链表 & 数仓分层
大数据·数据仓库·学习
NiceZack6 小时前
Hadoop 部署全流程教程:从新装 CentOS 到伪分布式与完全分布式
hadoop·分布式·centos
roman_日积跬步-终至千里7 小时前
数仓开发的三层责任:业务定义、模型设计与 SQL 实现
数据库·数据仓库·sql·数据建模
@小匠7 小时前
Flink + Iceberg 批量失败复盘:一次超时如何变成 Hive Metastore 锁泄漏
大数据·hive·flink
geovindu1 天前
SQL Data Sampling and Approximation Techniques using postgreSQL 18
大数据·数据库·数据仓库·sql·postgresql·数据库开发·数据库架构
skywalk81631 天前
hive —— 多机 AI Agent 协同的任务总线:分布式,多节点同时运行,保障不会宕机
人工智能·hive·分布式
程序员梅雨2 天前
【从零开始学习数据仓库 | 第一篇】:维度建模理论
大数据·数据仓库·学习·阿里云·数据分析
棣廷2 天前
初识数据仓库——数仓分层到DataX数据采集
数据仓库
棣廷2 天前
初识Hive(2)
数据仓库·hive·hadoop
skywalk81632 天前
deepseek对skywalk163/hive 和hivecommons/hive 两个多机AI Agent任务调度项目的对比
人工智能·hive·agent