当前位置: 首页 > article >正文

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

目录

一、概念

1.rows between ... and ...

2.range between ... and ...

二、语法

1.关键词含义


一、概念

1.rows between ... and ...

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

2.range between ... and ...

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

二、语法

(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.关键词含义

CURRENT ROW :表示当前行
UNBOUNDED PRECEDING :表示窗口的起始边界是窗口中第一行之前的无限行,即初始行
UNBOUNDED FOLLOWING :表示窗口的起始边界是窗口中第一行之后的无限行,即末尾行
UNBOUNDED :无边界
PRECEDING :往前
FOLLOWING :往后
(num) PRECEDING :表示当前行之前的num行。
(num) FOLLOWING :表示当前行之后的num行


http://www.kler.cn/a/559164.html

相关文章:

  • 亚马逊云科技MySQL托管服务:Amazon RDS for MySQL的技术优势与成本优化实践
  • 深入理解 Uniapp 中的 px 与 rpx
  • Express + MongoDB 实现在筛选时间段中用户名的模糊查询
  • 最新Java面试题,常见面试题及答案汇总
  • 简单爬虫:东方财富网股票数据爬取(20231230)
  • Python爬虫-批量爬取股票数据猫各股票代码
  • 【代码软件 | vs2019】vs2019+Qt5.12.12开发环境 的下载、安装详细介绍
  • HTML之JavaScript DOM编程获取元素的方式
  • SpringBoot+Vue+微信小程序的猫咖小程序平台(程序+论文+讲解+安装+调试+售后)
  • MySQL主从服务器配置教程
  • Python安全之反序列化——pickle/cPickle
  • 50周学习go语言:第1周 环境搭建
  • CSS中伪类选择器
  • C++核心指导原则: 枚举
  • NIO-Reactor模型梳理与demo实现
  • 单页图床HTML源码+本地API接口图床系统修复版源码
  • SpringBoot整合Redis和Redision锁
  • Linux 常见面试题汇总
  • Qt QStackedWidget 总结
  • 前后端对接