ARRAY_AVG
説明
配列内のすべての要素の平均値を取得します(NULL値はスキップされます)。
配列が空の場合、または配列内のすべての要素がNULL値の場合、この関数はNULLを返します。
構文
ARRAY_AVG(<arr>)
パラメータ
| パラメータ | 説明 |
|---|---|
<arr> | 平均値を計算する配列 |
戻り値
定数を返します。特殊なケース:
- 配列内の
NULL値はスキップされます。 - 配列内のStringsとvarcharはスキップされます。
例
create table array_type_table(
k1 INT,
k2 Array<int>
)
duplicate key (k1)
distributed by hash(k1) buckets 1
properties(
'replication_num' = '1'
);
insert into array_type_table values (0, []), (1, [NULL]), (2, [1, 2, 3]), (3, [1, NULL, 3]);
select k2, array_avg(k2) from array_type_table;
+--------------+-----------------+
| k2 | array_avg(`k2`) |
+--------------+-----------------+
| [] | NULL |
| [NULL] | NULL |
| [1, 2, 3] | 2 |
| [1, NULL, 3] | 2 |
+--------------+-----------------+
select array_avg(['test',2,1,null]);
+------------------------------------------------------------+
| array_avg(cast(['test', '2', '1', NULL] as ARRAY<DOUBLE>)) |
+------------------------------------------------------------+
| 1.5 |
+------------------------------------------------------------+