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行
相关推荐
juniperhan18 分钟前
Flink 系列第16篇:Flink 核心数据类型类详解(POJO、Row、Tuple)
java·大数据·数据仓库·分布式·flink
sunxunyong8 小时前
kyuubi 连接kerberos集群配置
hadoop
坚持就完事了14 小时前
Hadoop实战初步学习
hadoop·学习
It's Q20 小时前
hive学习分区&&函数
hive·hadoop·学习
隐于花海,等待花开1 天前
5.TRIM / LTRIM / RTRIM 函数深度解析
大数据·hive
RestCloud1 天前
TiDB 混合负载场景下的 ETL 与 CDC 实践
数据仓库·tidb·etl·cdc·数据同步·数据库传输
lifewange1 天前
Hadoop 全套常用 Shell 命令完整版
大数据·hadoop·npm
lifewange1 天前
Hadoop 完整入门详解
大数据·hadoop·分布式
菜鸟小码2 天前
Hive数据模型、架构、表类型与优化策略
hive·hadoop·架构
AllData公司负责人2 天前
AllData数据中台通过开源项目RustFS建设现代数据湖存储,接入工业, 医疗, 物联网数据,包括文件/图像/音频/视频数据!
数据库·数据仓库·物联网·开源·数据存储·数据接入·rustfs