如何从 Athena 数组中删除 NULL

Yun*_*ang 2 sql arrays presto amazon-athena trino

我有与此查询聚合的数组:

select field_name1, 
       field_name2, 
       "array_agg"(DISTINCT <field_name3>) "array_agg"
from <table_name>
group by <field_name1>
Run Code Online (Sandbox Code Playgroud)

问题是某些输出中包含 NULL 值。

['element1', 'element2', NULL]
Run Code Online (Sandbox Code Playgroud)

聚合值时如何从数组中删除 NULL。

我努力了

select field_name1, 
       field_name2, 
       "array_remove"("array_agg"(DISTINCT <field_name1>), NULL) "array_agg_drop_NULL""array_agg"
from <table_name>
group by <field_name1>
Run Code Online (Sandbox Code Playgroud)

但它返回的输出全部为空白。

Gur*_*ron 5

您可以使用filter函数:

select filter(array['element1', 'element2', NULL], el -> el is not null) filtered
Run Code Online (Sandbox Code Playgroud)

输出:

过滤的
[元素1,元素2]