日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

clickhouse-(04)-常用高阶函数

發布時間:2023/12/19 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 clickhouse-(04)-常用高阶函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、去重

1.arrayDistinct

對數組進行去重

SELECT arrayDistinct( [1,2,3,6,34,3,11])

2.arrayUniq

計算數組中有多少個不重復的值

SELECT arrayUniq( [1,2,3,6,34,3,11])

3.arrayCompact

對數組內數據實現相鄰去重

SELECT arrayCompact([1, 2, 2, 3, 2, 3, 3])

二、數組屬性

1.arrayJoin

對數組進行展開操作,行變列

SELECT arrayJoin( [1,2,3,6,34,3,11] ) as a

2.arrayFilter

篩選出數組中滿足條件的數據

SELECT a from (SELECT arrayFilter(x->x%2=0, [1,2,3,6,34,3,11]) as a

3.arrayEnumerate

返回數組下標

SELECT arrayEnumerate([1,2,3,6,34,3,11])

4.arrayReduce

對數組進行聚合操作,如有min 、max、avg 等

SELECT arrayReduce('avg', [1,2,3,6,34,3,11] )

5.arrayEnumerateDense

標記出數組中相同的元素

SELECT arrayEnumerateDense( [1,2,3,6,34,3,11] )

6.hasAny

判斷數組中是否包含某些值中任意一個值,若包含則返回1,否則返回0

SELECT hasAny( [1,2,3,6,34,3,11] , [3,4])

7.hasAll

判斷數組中是否包含某些值中所有值,若包含則返回1,否則返回0

SELECT hasAll( [1,2,3,6,34,3,11] , [3,4])

8.arrayWithConstant

生成一個指定長度的數組

SELECT arrayWithConstant( 3, 'a')

三、切割/拼接

1.arrayStringConcat

將數組元素按照給定分隔符進行拼接,返回拼接后的字符串(數組元素必須為String類型)

SELECT arrayStringConcat( ['2020','12','19'], '-') 

2.arraySlice

對數組進行切割 ,后面兩個參數分別是切割的位置和切割后的段數

SELECT arraySlice( [1,2,3,6,34,3,11],-3,2)

四、排序

1.arraySort

對數組進行升序

SELECT a from (SELECT arraySort([1,2,3,6,34,3,11]) as a)

2.arrayReverseSort

對數組進行降序

SELECT a from (SELECT arrayReverseSort([1,2,3,6,34,3,11]) as a)

五、添加/刪除首尾元素

1.arrayPushFront

在數組首位添加元素

SELECT arrayPushFront( [1,2,3,6,34,3,11] , 8)

2.arrayPushBack

在數組末尾添加元素

SELECT arrayPushBack( [1,2,3,6,34,3,11] , 8)

3.arrayPopFront

刪除數組中第一個元素

SELECT arrayPopFront( [1,2,3,6,34,3,11] )

4.arrayPopBack

刪除數組中最后一個元素

SELECT arrayPopBack( [1,2,3,6,34,3,11] )

六、計算差值

1.arrayDifference

計算數組中前后兩個值的差值部分,該位=當前-前者(不包括第一個數,結果第一位默認為0)

SELECT arrayDifference( [1,2,3,6,34,3,11] )

2.runningDifference

計算某一列前后數值的差值,該位=當前-前者(不包括第一個數,結果第一位默認為0)

select a,runningDifference(a)  from (SELECT arrayJoin( [1,2,3,6,34,3,11]) as a)

總結

以上是生活随笔為你收集整理的clickhouse-(04)-常用高阶函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。