Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

avgWeighted

avgWeighted

Добавлено в: v20.1.0

Вычисляет средневзвешенное арифметическое.

Синтаксис

avgWeighted(x, weight)

Аргументы

  • x — Значения. (U)Int* или Float*
  • weight — Весовые коэффициенты значений. (U)Int* или Float*

Возвращаемое значение

Возвращает NaN, если все веса равны 0 или параметр weight пуст; в противном случае — взвешенное среднее. Float64

Примеры

Пример использования

SELECT avgWeighted(x, w)
FROM VALUES('x Int8, w Int8', (4, 1), (1, 0), (10, 2))
┌─avgWeighted(x, w)─┐
│                 8 │
└───────────────────┘

Смешанные целочисленные и вещественные веса

SELECT avgWeighted(x, w)
FROM VALUES('x Int8, w Float64', (4, 1), (1, 0), (10, 2))
┌─avgWeighted(x, w)─┐
│                 8 │
└───────────────────┘

Если все веса равны нулю, возвращается NaN

SELECT avgWeighted(x, w)
FROM VALUES('x Int8, w Int8', (0, 0), (1, 0), (10, 0))
┌─avgWeighted(x, w)─┐
│               nan │
└───────────────────┘

Для пустой таблицы возвращается NaN

CREATE TABLE test (t UInt8) ENGINE = Memory;
SELECT avgWeighted(t, t) FROM test
┌─avgWeighted(t, t)─┐
│               nan │
└───────────────────┘
Navigation