开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 28 天,点击查看活动详情
说点题外话
今天包了韭菜虾仁猪肉的饺子,好吃,吃一盆
clickhouse常用函数
今天来介绍一写clickhouse一些常用特色函数
ClickHouse是一种面向列的分布式数据库管理系统,提供了许多强大的函数和操作,以支持高效的数据处理和分析。下面是一些ClickHouse的特色函数及其使用方式:
-
arrayDistinct 函数:用于从数组中选择不同的值。
语法:
arrayDistinct(arr)
参数:arr - 必需,输入数组。
示例:
SELECT arrayDistinct([1, 2, 3, 2, 4, 5, 3]) AS distinct_values;
输出:
┌─distinct_values─────┐ │ [1,2,3,4,5] │ └────────────────────┘
-
arrayFilter 函数:用于从数组中筛选出符合条件的元素。
语法:
arrayFilter(predicate, arr)
参数:predicate - 必需,用于筛选元素的谓词函数;arr - 必需,输入数组。
示例:
SELECT arrayFilter(x -> x % 2 = 0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) AS even_values;
输出:
┌─even_values─────┐ │ [2,4,6,8,10] │ └─────────────────┘
-
arrayMap 函数:用于将一个数组中的元素映射到另一个数组中。
语法:
arrayMap(mapping_function, arr)
参数:mapping_function - 必需,用于映射元素的函数;arr - 必需,输入数组。
示例:
SELECT arrayMap(x -> x * x, [1, 2, 3, 4, 5]) AS squares;
输出:
┌─squares───────────┐ │ [1,4,9,16,25] │ └───────────────────┘
-
arrayReduce 函数:用于将一个数组中的元素通过指定的累加器函数进行累积计算。
语法:
arrayReduce(accumulator_function, arr [, initial_state])
参数:accumulator_function - 必需,累加器函数;arr - 必需,输入数组;initial_state - 可选,累加器的初始状态。
示例:
SELECT arrayReduce((x, y) -> x + y, [1, 2, 3, 4, 5]) AS sum;
输出:
┌─sum─┐ │ 15 │ └─────┘
-
sumMap 函数:用于对数组中的元素进行求和,每个元素可以通过映射函数进行转换。
语法:
sumMap(mapping_function, arr)
参数:mapping_function - 必需,对元素进行映射的函数;arr - 必需,输入数组。
示例:
SELECT sumMap(x -> x * 2, [1, 2, 3, 4, 5]) AS sum;
输出:
┌─sum─┐ │ 30 │ └─────┘
-
arraySort 函数:用于对数组进行排序。
语法:
arraySort(arr [, ascending_order])
参数:arr - 必需,输入数组;ascending_order - 可选,默认值为 true,表示按升序排序,false 表示按降序排序。
示例:
SELECT arraySort([3, 1, 4, 1, 5, 9, 2, 6, 5, 3]) AS sorted_array;
输出:
┌─sorted_array─────────┐ │ [1,1,2,3,3,4,5,5,6,9] │ └──────────────────────┘
-
uniq 函数:用于从输入数据中选择不同的值。
语法:
uniq(x)
参数:x - 必需,输入数据。
示例:
SELECT uniq(['a', 'b', 'c', 'a', 'd']) AS unique_values;
输出:
┌─unique_values─┐ │ ['a','b','c','d'] │ └─────────────────┘
下一篇我们继续