如何在 ClickHouse 中使用 lambda max(a,b) 函数?
Posted
技术标签:
【中文标题】如何在 ClickHouse 中使用 lambda max(a,b) 函数?【英文标题】:How to have a lambda max(a,b) function in ClickHouse? 【发布时间】:2018-11-16 10:03:20 【问题描述】:有没有办法使用 ClickHouse 的 lambda 对两个整数执行最大函数? 像这样:
SELECT
[0,1,2,3,4,5] as five,
arrayMap(i -> max(five[i], 3), arrayEnumerate(five)) as X
返回
five expected X
0,1,2,3,4,5 3,3,3,3,4,5
【问题讨论】:
【参考方案1】:不确定我是否理解您的示例(它在语法上不正确),但对于最大超过两个整数,ClickHouse 具有最大的功能(x,y):
SELECT
[0, 1, 2, 3, 4, 5] AS five,
arrayMap(i -> greatest(i, 3), five) AS X
┌─five──────────┬─X─────────────┐
│ [0,1,2,3,4,5] │ [3,3,3,3,4,5] │
└───────────────┴───────────────┘
【讨论】:
这正是我所需要的。我在文档中错过了它。谢谢。以上是关于如何在 ClickHouse 中使用 lambda max(a,b) 函数?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 clickhouse 中使用 groupBitmapAnd 和 AggregatingMergeTree 引擎?