如何从 Athena 中的数组中删除 NULL

问题描述 投票:0回答:1

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

select field_name1, 
       field_name2, 
       "array_agg"(DISTINCT <field_name3>) "array_agg"
from <table_name>
group by <field_name1>

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

['element1', 'element2', NULL]

如何在聚合值时从数组中删除 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>

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

sql arrays amazon-athena presto trino
1个回答
5
投票

您可以使用

filter
功能:

select filter(array['element1', 'element2', NULL], el -> el is not null) filtered

输出:

过滤
[元素1,元素2]
© www.soinside.com 2019 - 2024. All rights reserved.