跳转到主内容
跳转到主内容

avgWeighted

avgWeighted

自 v20.1 起引入

计算加权算术平均值

语法

avgWeighted(x, weight)

参数

返回值

如果所有权重都等于 0 或提供的权重参数为空,则返回 NaN;否则返回加权平均值。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 │
└───────────────────┘

如果所有权重均为 0,则返回 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 │
└───────────────────┘