函数聚合函数聚合函数avgWeightedavgWeighted avgWeighted 自 v20.1 起引入 计算加权算术平均值。 语法 avgWeighted(x, weight) 参数 x — 数值。(U)Int* 或 Float* weight — 数值的权重。(U)Int* 或 Float* 返回值 如果所有权重都等于 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 │ └───────────────────┘