【问题标题】:How to have a lambda max(a,b) function in ClickHouse?如何在 ClickHouse 中使用 lambda max(a,b) 函数?
【发布时间】: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

【问题讨论】:

    标签: clickhouse


    【解决方案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] │
    └───────────────┴───────────────┘
    

    【讨论】:

    • 这正是我所需要的。我在文档中错过了它。谢谢。
    猜你喜欢
    • 2021-11-10
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 2017-02-23
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    相关资源
    最近更新 更多