ClickHouse/docs/en/sql-reference/aggregate-functions/reference/avgweighted.md

1.9 KiB

slug sidebar_position
/en/sql-reference/aggregate-functions/reference/avgweighted 107

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 │
└────────────────────────┘