窗口函数的使用

窗口函数的格式

window_function ([expression]) OVER (
	PARTITION BY ...
	ORDER BY ...
	frame_clause
)

window_function 是窗口函数的名称,expression是可选的分析对象(字段名或者表达式),OVER子句包含分区(PARTITION BY )、排序(ORDER BY)以及窗口大小(frame_clause)

窗口函数OVER子句中的frame_clause选项用于指定一个移动的分析窗口,窗口总是位于分区的范围之内,是分区的一个子集。在指定了分析窗口之后,窗口函数不再基于分区进行分析而是基于窗口内的数据进行分析。

窗口定义的格式

ROWS BETWEEN 上限 AND 下限
# UNBOUNDED PRECEDING 分区第一行
# UNBOUNDED FLLOWING 分区最后一行
# CURRENT NOW 当前行
# 2 PRECEDING 前两行
# 2 FLLOWING 后两行

窗口函数和聚合函数的不同

聚合函数是将同一个分组内的多行数据汇总成单个结果,窗口函数则保留了所有的原始数据。在某些数据库中,窗口函数也被成为联机分析处理(OLAP)函数,或者分析函数。

窗口函数的使用

移动平均值

在这里插入图片描述
在这里插入图片描述

累计求和

在这里插入图片描述

排名窗口函数

在这里插入图片描述
rank:考虑数据的重复性,挤占坑位 1 1 3

dense_rank:考虑数据的重复性,不挤占坑位 1 2 2 3

row_number:没有重复值的排序 1 2 3 4

取值窗口函数

在这里插入图片描述
在这里插入图片描述
环比增长率
在这里插入图片描述
同比增长率
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值