Oracle 窗口函数

简单来说,窗口函数是分析函数的一种,通常可以理解成over()函数

构成:函数名①() over(partition by 分组的列名 order by 排序的列名 XXX)

XXX是指特殊使用的,比如rows,range等等

例如:
SUM(a.amount) over(order by a.visited_on desc rows 1 preceding)
SUM(a.amount) over(order by a.visited_on desc range 1 preceding)
SUM(a.amount) over(order by a.visited_on ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
(在力扣上看到的大佬写的) 其中:rows和range分别表示选择后几行、选择数据范围
rows between 中的一些参数代表意思
preceding:往前
following:往后
current row:当前行
unbounded:无边界,
unbounded precending 表示从最前面的起点开始,
unbounded following:表示到最后面的终点

函数名①一般来说有几种

一种是聚合函数,像是sum、avg、count这种

一种是排序函数(序列函数),像是rank、dense_rank、row_number这种

一种是不好归类的,像是row_number这种行数范围的

常用的函数使用

sum() 求和

max() 最大值

min() 最小值

avg() 平均值

count() 统计数

row_number() 按照大小进行排名,相同大小名次不一样,就是按照行号走下去

rank() 按照大小进行排名,纯粹的排名,相同大小名次一样,会有名次的跳跃,即除了相同的,其余排名顺序与行号相同,第一名有十个,那第十一个就是第十一名

dense_rank() 按照大小进行排名,相同大小名次一样,但是不会进行名次的跳跃,即第一名玩了就是第二名,就算第一名有十个,那第十一个也是第二名

lag() 向上进行偏移对数据进行查询

lead() 向下进行偏移对数据进行查询

聚合函数用的比较少

序列函数可参考:https://www.cnblogs.com/jokingremarks/p/16286637.html

lag和lead可参考:https://www.cnblogs.com/jokingremarks/p/16622458.html

窗口函数AWS文档地址:https://docs.aws.amazon.com/zh_cn/redshift/latest/dg/r_WF_AVG.html

【笔记】Oracle 窗口函数的更多相关文章

  1. oracle窗口函数中range interval的使用

    oracle窗口函数中range interval配合一般用来针对指定时间范围进行统计.其中range表示范围,between...and 表示之前的范围和之后的范围 , CURRENT ROW表示当 ...

  2. ORACLE窗口函数

    --ORACLE窗口函数,是针对分析用的. --create tablecreate table EMP ( empno NUMBER(4) not null, ename VARCHAR2(10), ...

  3. Oracle学习笔记:窗口函数

    目录 1.测试数据 2.聚合函数+over() 3.partition by子句 4.order by子句 5.序列函数 5.1 分析函数之 ntile 5.2 分析函数之 row_number 5. ...

  4. Oracle窗口函数显示想要的行数

    Oracle中支持窗口函数ROW_NUMBER(),其用法和 MSSQLServer2005中相同,比如我们 执行下面的 SQL语句: SELECT * FROM ( SELECT ROW_NUMBE ...

  5. [terry笔记]oracle里的执行计划-查看

    内容主要来自看书学习的笔记,如下记录了常见查询执行计划的方法. 2.2 如何查看执行计划 1.explain plan 2.dbms_xplan包 3.autotrace 4.10046事件 5.10 ...

  6. <<卸甲笔记>>-Oracle线下迁移到PPAS

    迁移原则 1.尽量保持Oracle与PPAS一致,这会使得日后应用程序迁移更为简单 2.迁移前检查PPAS中是否有同名帐号及同名的Schema a)如果有,建议考虑删除或改名 b)如果没有,先手工建立 ...

  7. [笔记]--Oracle 10g在Windows 32位系统使用2G以上内存

    1.修改c:\boot.ini文件 打开boot.ini文件,我的电脑->属性->高级->启动和恢复->编辑,设置在最后一行末尾添加/PAE选项后如下: [boot loade ...

  8. [笔记]--Oracle修改SGA大小

    1.通过spfile修改 (1)使用SYS用户以SYSDBA身份登录系统 (2)查看修改前sga_max_size,sga_target大小 show parameter sga_max_size; ...

  9. 笔记 oracle 创建联合主键

    笔记 alter table tablename add constraint unionkeyname primary key (column1,column2); 上面语句中: tablename ...

  10. 笔记 oracle 创建主键自增长

    笔记 (1) 创建表 create table test( id number(18,2) primary key, -- 主键(unique+not null) name varchar2(100) ...

随机推荐

  1. live [lɪv , laɪv] 动词读lɪv 形容词读laɪv

    live [lɪv , laɪv] 动词读lɪv 形容词读laɪv live 英 [lɪv , laɪv] 美 [lɪv , laɪv] v. 居住;住;生存;(尤指在某时期)活着;(以某种方式)生活 ...

  2. 基于python的生理电信号采集的数据转换和处理软件

    一 前记 团队开发了几款生物电信号采集系统,可数据处理和转换工具刚开始用的都是matlab.这对一些客户来说,使用门槛还是有些高了.开发一套配套的软件,满足广大用户的需求,已经是迫在眉睫的事情了.最近 ...

  3. Git | Git Server 搭建,在自己的服务器上进行 git server 搭建

    系列文章目录 目录 系列文章目录 前言 操作 1. 创建 git 用户 2. 创建 .ssh 目录 3. 自定义仓库的根目录 4. 在服务器上创建个裸仓库 5. 手动配置一个公钥 6. 在本地测试一下 ...

  4. SQL注入的原理与分析

    SQL注入的原理与分析 1.SQL注入的本质 2.部分SQL语句 3.SQL注入流程 一.SQL注入的本质 SQL注入的本质,就是把用户输入的数据当作代码执行 Web应用程序对用户输入的数据校验处理不 ...

  5. C#的窗体防闪烁解决方案 - 开源研究系列文章

    昨天编码的时候想到了关于无边框窗体的闪烁问题,主要是改变窗体大小的时候会闪烁,默认的窗体没这个问题.而现在无边框窗体的应用比较多,所以就找了度娘,然后结合自己的经验进行了测试,得到了这个例子,简单有效 ...

  6. 记录--js小练习(弹幕、 电梯导航、 倒计时、 随机点名、 购物放大镜)

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 DOM小练习 弹幕 电梯导航 倒计时 随机点名 购物放大镜 1.弹幕 效果预览 功能:输入弹幕内容,按下回车显示一条弹幕(弹幕颜色.字体随 ...

  7. 记录--css水滴登录界面

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 今天我们来分享一款非常有趣的登录界面,它使用HTML和CSS制作,具有动态的水波纹效果,让用户在登录时感受到了一股清凉之感. 基本h ...

  8. Docker Commands Diagram

  9. KafkaProducerDemo

    package com.lxw.kafkademo; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache ...

  10. 2024 OI/VEX/啊啊啊? 赛季游记

    不定期更新,随便写. 中马建交80周年 CreateJR赛项 什么远古比赛,2024/01 的时间用 2023 赛季的规则(挺好). Day -4 1/24 在 破败不堪 的上海市安生学校集训. 点的 ...