ARRAY_AVG
更新时间:2025-10-17
描述
返回数组中所有元素的平均值,数组中的NULL值会被跳过。空数组以及元素全为NULL值的数组,结果返回NULL值。
语法
SQL
1ARRAY_AVG(<arr>)
参数
| 参数 | 说明 |
|---|---|
<arr> |
用于计算平均值的数组 |
返回值
返回一个常量,特殊情况:
- 数组中的
NULL值会被跳过。 - 数组的字符串会被跳过
举例
SQL
1create table array_type_table(
2 k1 INT,
3 k2 Array<int>
4)
5duplicate key (k1)
6distributed by hash(k1) buckets 1
7properties(
8 'replication_num' = '1'
9);
10insert into array_type_table values (0, []), (1, [NULL]), (2, [1, 2, 3]), (3, [1, NULL, 3]);
11select k2, array_avg(k2) from array_type_table;
Text
1+--------------+-----------------+
2| k2 | array_avg(`k2`) |
3+--------------+-----------------+
4| [] | NULL |
5| [NULL] | NULL |
6| [1, 2, 3] | 2 |
7| [1, NULL, 3] | 2 |
8+--------------+-----------------+
SQL
1select array_avg(['test',2,1,null]);
Text
1+------------------------------------------------------------+
2| array_avg(cast(['test', '2', '1', NULL] as ARRAY<DOUBLE>)) |
3+------------------------------------------------------------+
4| 1.5 |
5+------------------------------------------------------------+
