Relational Data - Aggregate Functions - Reference - Avgweighted
Calculates the weighted arithmetic mean.
Syntax
avgWeighted(x, weight)
Arguments
x
— Values.weight
— Weights of the values.
x
and weight
must both be Integer, floating-point, or Decimal, but may have different types.
Returned value
NaN
if all the weights are equal to 0 or the supplied weights parameter is empty.- Weighted mean otherwise.
Return type is always Float64.
Example
Query:
SELECT avgWeighted(x, w)
FROM values('x Int8, w Int8', (4, 1), (1, 0), (10, 2))
Result:
┌─avgWeighted(x, weight)─┐
│ 8 │
└────────────────────────┘
Example
Query:
SELECT avgWeighted(x, w)
FROM values('x Int8, w Float64', (4, 1), (1, 0), (10, 2))
Result:
┌─avgWeighted(x, weight)─┐
│ 8 │
└────────────────────────┘
Example
Query:
SELECT avgWeighted(x, w)
FROM values('x Int8, w Int8', (0, 0), (1, 0), (10, 0))
Result:
┌─avgWeighted(x, weight)─┐
│ nan │
└────────────────────────┘
Example
Query:
CREATE table test (t UInt8) ENGINE = Memory;
SELECT avgWeighted(t) FROM test
Result:
┌─avgWeighted(x, weight)─┐
│ nan │
└────────────────────────┘