分析函数 之 计算移动平均

窗口函数就是将表以窗口为单位进行分割,并在其中进行排序的函数。其实其中还包含在窗口中指定更加详细的汇总范围的备选功能,该备选功能中的汇总范围称为框架。

●指定框架(汇总范围)

使用ROWS(“行”)和PRECEDING(“之前”)两个关键字,将框架指定为“截止到之前~ 行”

如:“ROWS 2 PRECEDING”就是将框架指定为“截止到之前2 行”,也就是将作为汇总对象的记录限定为如下的“最靠近的3 行”

由于框架是根据当前记录来确定的,因此和固定的窗口不同,其范围会随着当前记录的变化而变化。

如果将条件中的数字变为“ROWS 5 PRECEDING”,就是“截止到之前5 行”(最靠近的6 行)的意思。

这样的统计方法称为移动平均(moving average)。由于这种方法在希望实时把握“最近状态”时非常方便,因此常常会应用在对股市趋势的实时跟踪当中。

使用关键字FOLLOWING(“之后”)替换PRECEDING,就可以指定“截止到之后~ 行”作为框架了

⭕将当前记录的前后行作为汇总对象——同时使用PRECEDING(“之前”)和FOLLOWING(“之后”)关键字来实现。

如:ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING

在上述代码中,我们通过指定框架,将“1 PRECEDING”(之前1 行)和“1 FOLLOWING”(之后1 行)的区间作为汇总对象。具体来说,就是将如下3 行作为汇总对象来进行计算。

  ● 之前1行的记录
  ● 自身(当前记录)
  ● 之后1行的记录

原文地址:https://www.cnblogs.com/philipchan/p/14338753.html