忽略 Cloud Spanner 聚合函数中的空值
Ignore null values in cloud spanner's aggregate functions
尝试使用函数 ARRAY_AGG
并让它忽略空值,但文档没有提供任何相关信息。尝试使用扳手识别但不认为有效的 "IGNORE NULLS"。
示例:
SELECT ARRAY_AGG(x IGNORE NULLS) FROM UNNEST([1,NULL,2,3]) x
抛出:IGNORE NULLS and RESPECT NULLS in aggregate functions are not supported
您仍然可以在聚合之前显式过滤掉空值:
select array_agg(a) from unnest([1,2,3,cast(null as int64)])
a where a is not null;
将产生 [1,2,3]
作为结果。
如果您错过了,Spanner 现在支持 IGNORE NULLS
语句,如 doc 中所述。
ARRAY_AGG([DISTINCT] expression [{IGNORE|RESPECT} NULLS] [HAVING {MAX | MIN} expression2])
尝试使用函数 ARRAY_AGG
并让它忽略空值,但文档没有提供任何相关信息。尝试使用扳手识别但不认为有效的 "IGNORE NULLS"。
示例:
SELECT ARRAY_AGG(x IGNORE NULLS) FROM UNNEST([1,NULL,2,3]) x
抛出:IGNORE NULLS and RESPECT NULLS in aggregate functions are not supported
您仍然可以在聚合之前显式过滤掉空值:
select array_agg(a) from unnest([1,2,3,cast(null as int64)])
a where a is not null;
将产生 [1,2,3]
作为结果。
如果您错过了,Spanner 现在支持 IGNORE NULLS
语句,如 doc 中所述。
ARRAY_AGG([DISTINCT] expression [{IGNORE|RESPECT} NULLS] [HAVING {MAX | MIN} expression2])