regr_avgy 聚合函数

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime 10.5 及更高版本

返回从 xExpryExprNOT NULL 的组的值计算出的 yExpr 的平均值。

语法

regr_avgy( [ALL | DISTINCT] yExpr, xExpr) [FILTER ( WHERE cond ) ]

还可以使用 OVER 子句将此函数作为窗口函数调用。

参数

  • yExpr:一个数值表达式,因变量。
  • xExpr:一个数值表达式,自变量。
  • cond:一个可选的布尔表达式,可筛选用于函数的行。

返回

结果类型取决于 yExpr 的类型:

  • DECIMAL(p, s):结果类型为 DECIMAL(p + 4, s + 4)``. If the maximum precision for ``DECIMAL。如果达到 DECIMAL 的最大精度,则位数的增加将受到限制,以避免丢失有效数字。
  • 否则结果为 DOUBLE

忽略组中的任何 null 值。 如果组为空或仅包含 null,则结果为 NULL

如果指定了 DISTINCT,则会在删除重复项后计算平均值。

regr_avgy(y, x)avg(y) FILTER(WHERE x IS NOT NULL AND y IS NOT NULL)的同义词。

示例

> SELECT regr_avgy(y, x) FROM VALUES (1, 2), (2, 3), (2, 3), (null, 4), (4, null) AS T(y, x);
  1.6666666666666667