AVG_WEIGHTED
更新时间:2025-10-16
描述
计算加权算术平均值,即返回结果为:所有对应数值和权重的乘积相累加,除总的权重和。如果所有的权重和等于 0, 将返回 NaN。
语法
SQL
1AVG_WEIGHTED(<x>, <weight>)
参数
参数 | 说明 |
---|---|
<x> |
是需要计算平均值的数值表达式,可以是一个列名、常量或复杂的数值表达式 |
<weight> |
是一个数值表达式,通常可以是一个列名、常量或其他数值计算结果 |
返回值
所有对应数值和权重的乘积相累加,除总的权重和,如果所有的权重和等于 0, 将返回 NaN。
举例
SQL
1select k1,k2 from test_doris_avg_weighted;
Text
1+------+------+
2| k1 | k2 |
3+------+------+
4| 10 | 100 |
5| 20 | 200 |
6| 30 | 300 |
7| 40 | 400 |
8+------+------+
SQL
1select avg_weighted(k2,k1) from test_doris_avg_weighted;
Text
1+--------------------------------------+
2| avg_weighted(k2, cast(k1 as DOUBLE)) |
3+--------------------------------------+
4| 300 |
5+--------------------------------------+