窗口函数 Over 子句

N.N*_*.N. 4 google-bigquery

在 Over Clause 文档中提到了“行”和“范围”。

OVER (
      [PARTITION BY <expr>]
      [ORDER BY <expr>]
      [ROWS <expr> | RANGE <expr>]
     )
Run Code Online (Sandbox Code Playgroud)

但是,我找不到关于它们的功能或任何使用示例的详细说明。有人可以解释一下它们是什么以及如何使用它们吗?

Fel*_*ffa 5

请参阅/sf/answers/1930213211/ 上的用户“链轮”答案:

ROWS 和 RANGE 允许窗口函数查看用户定义的行窗口,例如前 27 行运行移动平均:

SELECT spend,
       SUM(spend) OVER (PARTITION BY user ORDER BY date ROWS BETWEEN 27 PRECEDING AND CURRENT ROW),
       user,
       date
FROM user_spend;
Run Code Online (Sandbox Code Playgroud)