Mysql窗口函数

2024年 1月 10日 64.4k 0

Mysql窗口函数

窗口可以理解为记录集合,窗口函数就是在满足某种条件的记录集合上执行的特殊函数。 即:应用在窗口内的函数。

静态窗口:每条记录都要在此窗口内执行函数,窗口大小都是固定的。

动态窗口:不同的记录对应着不同的窗口,这种动态变化的窗口叫滑动窗口。

语法格式:

1

函数名(字段名) over(子句)

over()括号内若不写,则意味着窗口函数基于满足where条件的所有行进行计算。

若括号内不为空,则支持以下语法来设置窗口。

1

函数名(字段名) over(partition by order by rows between )

数据范围:

1

2

3

4

5

6

rows between 2 preceding and current row # 取本行和前面两行

rows between unbounded preceding and current row # 取本行和之前所有的行

rows between current row and unbounded following # 取本行和之后所有的行

rows between 3 preceding and 1 following # 从前面三行和下面一行,总共五行

# 当order by后面没有rows between时,窗口规范默认是取本行和之前所有的行

# 当order byrows between都没有时,窗口规范默认是分组下所有行(rows between unbounded preceding and unbounded following)

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论