【笔记】Oracle 窗口函数
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 窗口函数的更多相关文章
- oracle窗口函数中range interval的使用
oracle窗口函数中range interval配合一般用来针对指定时间范围进行统计.其中range表示范围,between...and 表示之前的范围和之后的范围 , CURRENT ROW表示当 ...
- ORACLE窗口函数
--ORACLE窗口函数,是针对分析用的. --create tablecreate table EMP ( empno NUMBER(4) not null, ename VARCHAR2(10), ...
- Oracle学习笔记:窗口函数
目录 1.测试数据 2.聚合函数+over() 3.partition by子句 4.order by子句 5.序列函数 5.1 分析函数之 ntile 5.2 分析函数之 row_number 5. ...
- Oracle窗口函数显示想要的行数
Oracle中支持窗口函数ROW_NUMBER(),其用法和 MSSQLServer2005中相同,比如我们 执行下面的 SQL语句: SELECT * FROM ( SELECT ROW_NUMBE ...
- [terry笔记]oracle里的执行计划-查看
内容主要来自看书学习的笔记,如下记录了常见查询执行计划的方法. 2.2 如何查看执行计划 1.explain plan 2.dbms_xplan包 3.autotrace 4.10046事件 5.10 ...
- <<卸甲笔记>>-Oracle线下迁移到PPAS
迁移原则 1.尽量保持Oracle与PPAS一致,这会使得日后应用程序迁移更为简单 2.迁移前检查PPAS中是否有同名帐号及同名的Schema a)如果有,建议考虑删除或改名 b)如果没有,先手工建立 ...
- [笔记]--Oracle 10g在Windows 32位系统使用2G以上内存
1.修改c:\boot.ini文件 打开boot.ini文件,我的电脑->属性->高级->启动和恢复->编辑,设置在最后一行末尾添加/PAE选项后如下: [boot loade ...
- [笔记]--Oracle修改SGA大小
1.通过spfile修改 (1)使用SYS用户以SYSDBA身份登录系统 (2)查看修改前sga_max_size,sga_target大小 show parameter sga_max_size; ...
- 笔记 oracle 创建联合主键
笔记 alter table tablename add constraint unionkeyname primary key (column1,column2); 上面语句中: tablename ...
- 笔记 oracle 创建主键自增长
笔记 (1) 创建表 create table test( id number(18,2) primary key, -- 主键(unique+not null) name varchar2(100) ...
随机推荐
- trans.bat 将.m4a 文件拖拽到这个上面 自动转换成.mp3 老歌精选-歌曲z
@chcp 65001 >nul echo off :: 获取文件名 SET filePath=%1 :: 因为这里目录的路径是 E:\老歌精选-歌曲z 是11个字符,所以是从第12个字符到最后 ...
- Nginx的负载均衡策略(4+2)
Nginx的负载均衡策略主要包括以下几种: 轮询(Round Robin):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除.这是Nginx的默认策略,适合服务器配置 ...
- 日常办公——Word中重复标题的设置
在Word中,遇到表格分页时,可以设置重复标题,如下图所示:
- epoll水平触发与边缘触发
把高电平看作文件描述符是可读或可写状态,低电平黑色表示不可读或不可写,epoll_wait的水平触发就是蓝色的时候epoll_wait就会被触发,而边缘触发就是红色的时候epoll_wait会触发,且 ...
- Linux下编译成静态库和动态库,引入到项目中
目录 配置全局变量 编译动态库和静态库: 动态库编译 静态库编译 AS mk 方式加载静态库和动态库 配置build.gradle 加载静态库方法 将libget.a考入到项目中 配置Android. ...
- 一个.net6开发的截图后ocr小工具
软件使用 .net6 winfrom 开发 ocr使用的是paddleOCR .net下调用paddleOCR 用 sdcb.PaddleOCR https://github.com/sdcb/Pad ...
- 瑞云科技联合飞蝶VR教育、大朋VR推出元宇宙 5G VR智慧教育整体解决方案
近日,瑞云科技3DCAT实时渲染云与飞蝶VR.大朋VR达成深度合作.基于瑞云深度自研的实时渲染云技术.飞蝶VR教育内容资源的深厚积累以及大朋VR优秀的VR硬件产品力,三方针对元宇宙 5G VR智慧教育 ...
- OkHttp请求耗时统计
目录介绍 01.先提问一个问题 02.EventListener回调原理 03.请求开始结束监听 04.dns解析开始结束监听 05.连接开始结束监听 06.TLS连接开始结束监听 07.连接绑定和释 ...
- 记录一次WPF命令参数报错,InvalidCastException: T for DelegateCommand<T> is not an object nor Nullable.
在使用WPF的时候对int或者bool类型进行绑定出现InvalidCastException: T for DelegateCommand is not an object nor Nullable ...
- 记录-Symbol学习笔记
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 Symbol是JavaScript中的原始数据类型之一,它表示一个唯一的.不可变的值,通常用作对象属性的键值.由于Symbol值是唯一的, ...