ClickHouse聚合NULL空处理

x33g5p2x  于2021-01-21 发布在 ClickHouse  
字(0.3k)|赞(0)|评价(0)|浏览(3710)

ClickHouse在聚合过程中,所有 NULLs被跳过。

例:

考虑这个表:

┌─x─┬────y─┐
│ 1 │    2 │
│ 2 │ ᴺᵁᴸᴸ │
│ 3 │    2 │
│ 3 │    3 │
│ 3 │ ᴺᵁᴸᴸ │
└───┴──────┘

比方说,你需要在总的值 y 列:

SELECT sum(y) FROM t_null_big
┌─sum(y)─┐
│      7 │
└────────┘

sum 函数解释 NULL 作为 0. 特别是,这意味着,如果函数接收输入的选择,其中所有的值 NULL,那么结果将是 0,不 NULL.

现在你可以使用 groupArray 函数从创建一个数组 y 列:

SELECT groupArray(y) FROM t_null_big
┌─groupArray(y)─┐
│ [2,2,3]       │
└───────────────┘

groupArray 不包括 NULL 在生成的数组中。

相关文章

热门文章

更多