窗口函数(sample database classicmodels _No.8 )
准备工作,可以去下载 classicmodels 数据库具体如下
点击:classicmodels
也可以去 下面我的博客资源下载
https://download.youkuaiyun.com/download/tomxjc/88685970
什么是窗口函数?
开窗函数(Window Function)是一种在关系型数据库中执行计算的功能,它能够在查询结果集的子集(窗口)上执行聚合、排序和分析操作,而不会改变原始查询结果的行数。开窗函数通常与聚合函数(如SUM、AVG、COUNT等)结合使用,以便在给定的窗口中对数据进行分析。
开窗函数在SQL标准中得到广泛支持,并且在许多主流的关系型数据库管理系统(如PostgreSQL、MySQL、Oracle、SQL Server等)中都有实现。
开窗函数的语法通常如下:
<窗口函数>(<表达式>) OVER (PARTITION BY <分区键> ORDER BY <排序键> [窗口定义])
其中:
<窗口函数>:要执行的聚合或分析函数,例如SUM、AVG、ROW_NUMBER等。
<表达式>:要对其执行窗口函数的列或表达式。
PARTITION BY:用于将结果集分区的列或表达式。它将数据分成不同的组,在每个组内执行窗口函数。
ORDER BY:对分区中的行进行排序的列或表达式。
[窗口定义]:可选部分,用于定义窗口的边界。包括ROWS、RANGE等窗口类型。
通过使用开窗函数,可以执行一系列分析操作,如计算累积总和、计算移动平均值、计算排名等。这使得在查询结果中执行复杂的分析变得更加简单和高效。
二、实例1
select orderNumber ,
orderLineNumber ,
productCode