Агрегатная функция regr_avgx
Область применения: Databricks SQL Databricks Runtime 11.3 LTS и выше
Возвращает среднее значение, вычисляемое xExpr
из значений группы, в которой xExpr
и yExpr
есть NOT NULL
.
Синтаксис
regr_avgx( [ALL | DISTINCT] yExpr, xExpr) [FILTER ( WHERE cond ) ]
Эту функцию также можно вызвать как функцию окна с помощью OVER
предложения.
Аргументы
-
yExpr
: числовое выражение, зависимая переменная. -
xExpr
: числовое выражение, независимая переменная. -
cond
: необязательное логическое выражение, фильтрующее строки, используемые для функции.
Возвраты
Тип результата зависит от типа xExpr
:
-
DECIMAL(p, s)
: тип результата достигаетсяDECIMAL(p + 4, s + 4)``. If the maximum precision for ``DECIMAL
увеличение масштаба, чтобы избежать потери значительных цифр. - В противном случае результатом является
DOUBLE
.
Значения NULL в группе игнорируются. Если группа пуста или состоит только из нулей, возвращается результат NULL
.
Если указано значение DISTINCT
, вычисляется среднее значение после удаления дубликатов.
regr_avgx(y, x)
— синоним avg(x) FILTER(WHERE x IS NOT NULL AND y IS NOT NULL)
.
Примеры
> SELECT regr_avgx(y, x) FROM VALUES (1, 2), (2, 3), (2, 3), (null, 4), (4, null) AS T(y, x);
2.6666666666666665