clickhouse常用函数(2)

217 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 28 天,点击查看活动详情

说点题外话

今天看了一个直播,买糖的,各种各样的糖,看着都巨好吃,QQ弹弹超级诱人,然后就买了,但是怎么总有一种上当的感觉呢……

clickhouse常用函数

image.png

上一篇我们介绍了一些clickhouse常用特色函数,这一篇继续

  1. argMax 函数:用于在数组中查找最大值,并返回其对应的索引。

    语法:argMax(x, arr)

    参数:x - 必需,要查找的值;arr - 必需,输入数组。

    示例:

    SELECT argMax(x, [1, 5, 2, 4, 3]) AS max_index FROM (SELECT max(arrayElement([1, 5, 2, 4, 3], index)) AS x FROM numbers(5));
    

    输出:

    ┌─max_index─┐
    │    1     │
    └───────────┘
    
  2. groupArray 函数:用于将 GROUP BY 查询的结果集中的值存储为一个数组。

    语法:groupArray(x)

    参数:x - 必需,要存储为数组的值。

    示例:

    SELECT groupArray(number % 3) AS groups, count(*) AS cnt FROM system.numbers GROUP BY groups ORDER BY cnt DESC;
    

    输出:

    ┌─groups─────┬─cnt───┐
    │ [0,1,2]   │ 524288 │
    └────────────┴───────┘
    
  3. arrayJoin 函数:用于将数组中的元素连接为字符串。

    语法:arrayJoin(arr [, delimiter])

    参数:arr - 必需,要连接的数组;delimiter - 可选,指定连接字符串时要使用的分隔符,默认为逗号。

    示例:

    SELECT arrayJoin(['a', 'b', 'c'], '-') AS joined_string;
    

    输出:

    ┌─joined_string─┐
    │  a-b-c        │
    └───────────────┘
    
  4. quantile 函数:用于计算数据的分位数。

    语法:quantile(level, x)

    参数:level - 必需,要计算的分位数,取值范围为 [0,1];x - 必需,输入数据。

    示例:

    SELECT quantile(0.75, [1, 2, 3, 4, 5]) AS q3;
    

    输出:

    ┌──q3─┐
    │ 4.0 │
    └─────┘
    
  5. uniqCombined 函数:用于对多个数组进行合并,并去重。

    语法:uniqCombined(arr1, arr2, ...)

    参数:arr1, arr2, ... - 必需,要合并并去重的数组。

    示例:

    SELECT uniqCombined([1, 2, 3], [2, 3, 4], [3, 4, 5]);
    

    输出:

    ┌─uniqCombined([1,2,3],[2,3,4],[3,4,5])─┐
    │                [1,2,3,4,5]              │
    └────────────────────────────────────────┘
    
  6. empty 函数:用于生成一个指定类型的空值。

    语法:empty(data_type)

    参数:data_type - 必需,生成空值的数据类型。

    示例:

    SELECT empty(UInt8) AS empty_value;
    

    输出:

    ┌─empty_value─┐
    │      ᴺᵁᴸᴸ      │
    └─────────────┘
    
  7. tuple 函数:用于创建元组。

    语法:tuple(x1, x2, ...)

    参数:x1, x2, ... - 必需,要包含在元组中的值。

    示例:

    SELECT tuple(1, 'a', 2.5) AS my_tuple;
    

    输出:

    ┌─my_tuple───────────┐
    │ (1,'a',2.5) │
    └────────────────────┘
    

这些函数只是ClickHouse提供的一小部分,还有很多其他有用的函数,可以根据需要在官方文档中查找并了解使用。

结束