SQL 开窗函数总结

一、开窗函数特点:

1.开窗函数是在满足某种条件的记录集合上执行的特殊函数;

2.对于每条记录都需要在此窗口执行函数;

3.伴随着记录的不同,记录相同的窗口都是固定的,称为静态窗口,记录不同则窗口不同,称之为滑动窗口;

4.开窗函数本质上还是聚合函数,聚合函数的是将多条记录聚合为一条,得到一条结果,而开窗函数则是会对每条记录都会执行,可返回多个聚合结果集,就像多个窗口一样。

二、语法:

开窗函数名【字段名】over 【partition by 】【order by [desc]】【窗口分区】

partition by 子句:按照指定字段进行分区,两个分区由边界分割,开窗函数在不同的分区内分别执行,在跨越分区边界时重新初始化。

order by 子句:按照指定字段进行排序,开窗函数将按照排序后的记录顺序进行编号,可以和partition by子句配合使用,也可以单独使用。

三、over参数

over参数为空、没有指定分区、排序、滑动窗口时,开窗窗口将整个表作为一个区,默认计算所有值。

over指定了分区,未指定排序和滑动窗口,开窗函数默认计算分区内的所有值。

over指定了分区,排序,未指定滑动窗口,开窗函数默认计算第一行到当前行的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酔墨诗欣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值