SQL窗口函数大小详解

窗口大小

OVER 子句中的 frame_clause 选项用于指定一个滑动的窗口。窗口总是位于分区范围之内,是分区的一个子集。指定了窗口之后,分析函数不再基于分区进行计算,而是基于窗口内的数据进行计算。
指定窗口大小的语法如下:

ROWS | RANGE BETWEEN frame_start AND frame_end

其中,ROWS 表示以行为单位计算窗口的偏移量;RANGE 表示以数值为单位计算窗口的偏移量;
frame_start 用于定义窗口的起始位置,可以指定以下内容之一:

  • UNBOUNDED PRECEDING,窗口从分区的第一行开始;
  • N PRECEDING,窗口从当前行之前的第 N 行、范围 N 之内开始;
  • CURRENT ROW,窗口从当前行开始。

frame_end 用于定义窗口的结束位置,可以指定以下内容之一:

  • CURRENT ROW,窗口到当前行结束;

  • M FOLLOWING,窗口到当前行之后的第 M 行、范围 M 之内结束;

  • UNBOUNDED FOLLOWING,窗口到分区的最后一行结束。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
第一个窗口使用 ROWS 选项,包含了前后各 1 行以及当前行;第二个窗口使用 RANGE 选项,包含了当前行的数值减去 1(4-1=3)到当前行的数值加上 1(4+1=5)之间的所有数据;
如果没有指定窗口大小选项,默认使用的窗口如下:

  • 如果指定了 ORDER BY, 默认窗口为 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW;
  • 如果没有指定 ORDER BY, 默认窗口为 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/318406.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

旧电脑搭建NAS

旧电脑可以搭建NAS吗? 可以! 性能好吗? 完全没问题! 简单吗? 轻松上手! 怎吗搭建? 这里:用旧电脑搭建NAS在您的家庭中,通过将旧 PC 转变为NAS服务器,您…

Power Apps 学习笔记 - IOrganizationService Interface

文章目录 1. IOrganization Interface1.1 基本介绍1.2 方法分析 2. Entity对象2.1 Constructor2.2 Properties2.3 Methods 3. 相关方法3.1 单行查询 Retrive3.2 多行查询 RetriveMultiple3.3 增加 Create3.4 删除 Delete3.5 修改 Update 4. 数据查询的不同实现方式4.1 QueryExp…

每天五分钟计算机视觉:揭秘迁移学习

本文重点 随着人工智能的迅速发展,深度学习已经成为了许多领域的关键技术。然而,深度学习模型的训练需要大量的标注数据,这在很多情况下是不现实的。迁移学习作为一种有效的方法,可以在已有的数据和模型上进行训练,然后将其应用于新的任务。这种方法大大降低了对新任务的…

什么是聚合支付,又能带来哪些好处?

随着科技的飞速发展,人们的支付方式也在不断地发生变革。从最初的现金支付、银行卡支付,到现在的移动支付、扫码支付等,支付方式已经变得越来越便捷。聚合支付作为一种新型的支付方式,也在逐渐改变着人们的生活方式。那么&#xf…

源头厂家定制直线度测量仪 在线与离线检测均可

直线度的检测不再局限于直尺法、重力法等人工检测方式,随着自动化的发展,直线度检测也更需要自动化方便快捷的检测仪器。为此,研发了在线直线度测量仪与离线直线度测量仪,根据不同的需要,选择合适的设备即可。 数据计…

霹雳吧啦Wz《pytorch图像分类》-p5ResNet网络

《pytorch图像分类》p5ResNet网络结构 1 网络中的亮点1.1 超深的网络结构1.2 residual模块1.3 Batch Normalization1.4 迁移学习简介 2 模块类代码2.1 BasicBlock(18 & 32 layers)2.2 Bottleneck(50 & 101 & 152layers&#xff0…

十大性能测试工具

这篇关于“性能测试工具”的文章将按以下顺序让您了解不同的软件测试工具: 什么是性能测试?为什么我们需要性能测试?性能测试的优势性能测试的类型十大性能测试工具 什么是性能测试? 性能测试是一种软件测试,可确保…

向日葵远程工具安装Mysql的安装与配置

目录 一、向日葵远程工具安装 1.1 简介 1.2 下载地址 二、Mysql 5.7 安装与配置 2.1 简介 2.2 安装 2.3 初始化mysql服务端 2.4 启动mysql服务 2.5 登录mysql 2.6 修改密码 2.7 设置外部访问 三、思维导图 一、向日葵远程工具安装 1.1 简介 向日葵远程控制是一款用…

java每日一题——双色球系统(答案及编程思路)

前言: 打好基础,daydayup! 题目:要求如下(同时:红球每个号码不可以相同) 编程思路:1,创建一个可以录入数字的数组;2,生成一个可以随机生成数字的数组&#xf…

java代码规范(适合写程序之前先了解有助于开发协同)

目录 一、类定义 二、方法定义 三、接口定义 四、变量定义 1、命名规范: 2、类型规范: 3、常量规范: 五、static关键字 1、静态变量(类变量): 2、静态方法(类方法)&#x…

论文降重助手同义词替换功能的优化建议与实施方案

大家好,今天来聊聊论文降重助手同义词替换功能的优化建议与实施方案,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 标题:论文降重助手同义词替换功…

【JavaSE】string与StringBuilder和StringBuffer

区别: 不可变性: String: String 类是不可变的,一旦创建就不能被修改。对字符串的任何操作都会创建一个新的字符串对象。StringBuffer: StringBuffer 是可变的,允许对字符串进行修改,而不创建新…