如何在 ClickHouse 中使用 lambda max(a,b) 函数?

How to have a lambda max(a,b) function in ClickHouse?

有没有办法使用 ClickHouse lambda 对两个整数执行 max 函数? 像这样:

SELECT 
    [0,1,2,3,4,5] as five, 
    arrayMap(i -> max(five[i], 3), arrayEnumerate(five)) as X

Returns

     five        expected X   
0,1,2,3,4,5     3,3,3,3,4,5

不确定我是否理解您的示例(它在语法上不正确),但是对于超过两个整数的最大值,ClickHouse 具有函数 greatest(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] │
└───────────────┴───────────────┘