开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 28 天,点击查看活动详情
说点题外话
今天看了一个直播,买糖的,各种各样的糖,看着都巨好吃,QQ弹弹超级诱人,然后就买了,但是怎么总有一种上当的感觉呢……
clickhouse常用函数
上一篇我们介绍了一些clickhouse常用特色函数,这一篇继续
-
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 │ └───────────┘
-
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 │ └────────────┴───────┘
-
arrayJoin 函数:用于将数组中的元素连接为字符串。
语法:
arrayJoin(arr [, delimiter])
参数:arr - 必需,要连接的数组;delimiter - 可选,指定连接字符串时要使用的分隔符,默认为逗号。
示例:
SELECT arrayJoin(['a', 'b', 'c'], '-') AS joined_string;
输出:
┌─joined_string─┐ │ a-b-c │ └───────────────┘
-
quantile 函数:用于计算数据的分位数。
语法:
quantile(level, x)
参数:level - 必需,要计算的分位数,取值范围为 [0,1];x - 必需,输入数据。
示例:
SELECT quantile(0.75, [1, 2, 3, 4, 5]) AS q3;
输出:
┌──q3─┐ │ 4.0 │ └─────┘
-
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] │ └────────────────────────────────────────┘
-
empty 函数:用于生成一个指定类型的空值。
语法:
empty(data_type)
参数:data_type - 必需,生成空值的数据类型。
示例:
SELECT empty(UInt8) AS empty_value;
输出:
┌─empty_value─┐ │ ᴺᵁᴸᴸ │ └─────────────┘
-
tuple 函数:用于创建元组。
语法:
tuple(x1, x2, ...)
参数:x1, x2, ... - 必需,要包含在元组中的值。
示例:
SELECT tuple(1, 'a', 2.5) AS my_tuple;
输出:
┌─my_tuple───────────┐ │ (1,'a',2.5) │ └────────────────────┘
这些函数只是ClickHouse提供的一小部分,还有很多其他有用的函数,可以根据需要在官方文档中查找并了解使用。