1、统计类函数

1.1 分位数

90%分位数:

quantile(0.9)()

在求(平均)响应时间时用到,quantile(0.9)(url_rt)

1.2 中位数

median()

还未使用到,median(url_rt)

1.3 相关系数

计算x与y的相关系数,计算公式:∑(x−x‾)(y−y‾)∑(x−x‾)2∑(y−y‾)2\dfrac{\sum(x-\overline{x})(y-\overline{y})}{\sqrt{\sum(x-\overline{x})^2\sum(y-\overline{y})^2}}∑(x−x)2∑(y−y​)2​∑(x−x)(y−y​)​,取值范围[-1,1],其绝对值越大代表线性关系越强,当相关系数为0时,表示x与y之间没有线性相关关系(不代表没有非线性关系):
corr(x,y)

还未使用到,corr(url_rt,hit)

2、类型转换函数

2.1 转换为字符串

toString()

在Superset中应用较多,toString(date)

3、时间日期函数

3.1 截取年份

toYear()

应用形式toYear(date)

3.2 截取月份

toMonth()

应用形式toMonth(date),例如date = ‘2018-07-25’,得到结果为7

3.3 截取天

toDayOfDay()

应用形式toDayOfDay(date),例如date = ‘2018-07-25’,得到结果为25

3.4 截取计算星期

toDayOfWeek()

应用形式toDayOfWeek(date),例如date = ‘2018-07-25’,得到结果为3
上方

3.5 截取计算小时

toHour()

应用形式toHour(ts),例如date = ‘2018-07-25 08:10:20’,得到结果为8

3.6 截取计算分钟

toMinute()

与上方类似,用在物化视图中分钟级聚合

3.7 截取计算秒

toSecond()

与上方类似
以下函数与上方函数极为类似。

3.8 从小时开始截取

toStartOfHour()

应用形式toStartOfHour(ts),例如date = ‘2018-07-25 08:01:21’,得到结果为2018-07-25 08:00:00

3.9 从分钟开始截取(一分钟粒度)

toStartOfMinute()

应用形式toStartOfMinute(ts),例如date = ‘2018-07-25 08:01:21’,得到结果为2018-07-25 08:01:00

3.10 从分钟开始截取(五分钟粒度)

toStartOfFiveMinute()

应用形式toStartOfFiveMinute(ts),随着时间的推移将日期缩短到五分钟间隔的开始。例如date = ‘2018-07-25 08:05:21’,得到结果为2018-07-25 08:00:21,当秒级/分钟级数据量较大时,考虑五分钟聚合可以使用该函数。

4、字符串处理

4.1 小写转换

lower()

应用形式lower('aBcA')

4.2 大写转换

upper()

应用形式upper('aBcA')

4.3 字符串拼接

concat(s1,s2,...)

应用形式concat('adsa','121sf')

4.4 字符串截取

substring(s, offset, length)

应用形式substring('iioomAjOOBJB', 2, 3),从字符串的第2位起截取3个字符,得到ioo

4.5 字符串拆分

splitByString(separator , s)

SELECT splitByString(',','afffv,safe,efwee,htrjt' ) AS temp;,结果:[‘afffv’,‘safe’,‘efwee’,‘htrjt’]。
length()结合使用,SELECT length(splitByString(',','afffv,safe,efwee,htrjt' )) AS temp_num;,结果:4。

5、搜索函数

5.1 正则匹配之match()

  match(haystack,pattern)

应用形式match('avhsca','vh),是否由匹配字段,字符串中由’vh’字符串,结果输出为1

5.2 正则匹配之extract()

返回匹配到的第一个子串:

extract(haystack,pattern)

应用形式extract('iioomAj12123124OOBJB', '\\d+'),匹配多个数字,并返回第一个子串,结果输出为’12123124’
extract('iioomAj12123124OOBJB', '\\[a-z]+'),匹配小写字母的子串,并返回第一个子串,结果输出为’iioom’

5.3 正则匹配之extractAll()

返回匹配到的所有子串:

   extractAll(haystack,pattern)

应用形式extract('iioomAj12123124OOBJB', '\\[A-Z]+'),匹配大写字母的子串,并返回所有子串,结果输出为[‘A’,‘OOBJB’]

5.4 正则匹配之like()

返回匹配到的数据:

   like(haystack,pattern)

可以包含:%和_等字符
一般应用于模糊查找URL

5.5 正则匹配之notLike()

   notLike(haystack,pattern)

得到结果与like()相反。

5.6 正则替换之replaceOne()

  replaceOne(haystack,pattern,replacement)

只替换第一个匹配到的pattern。

5.7 正则替换之replaceAll()

  replaceAll(haystack,pattern,replacement)

替换匹配到的所有pattern。可以和length()函数搭配来统计某个字符的个数,SELECT (length(task_ids)-length(replaceAll(task_ids,',','')) + 1) AS task_num FROM dcm_mission_all ;统计任务的数量,task_ids可能取值为‘123,5325,564564,234’,执行后结果为:4。

5.8 正则替换之replaceRegexpAll()

 replaceRegexpAll(haystack,pattern,replacement)

与replaceAll()类似,pattern可以用正则表示,SELECT replaceRegexpAll('Hello, World!', '^', 'here: ') AS res;,得到:here: Hello, World!

6、条件语句

6.1 if()

if(cond,then,else)

条件cond为TRUE,返回then处的结果,否则,返回else处的结果。

7、URL操作函数

7.1 protocol()

用法:

SELECT  protocol('http://www.baidu.com.cn')

结果:http。

7.2 domain()

用法:

SELECT  domain('http://www.baidu.com.cn')

结果:www.baidu.com.cn。

7.3 domainWithoutWWW()

用法:

SELECT  domainWithoutWWW('http://www.baidu.com.cn')

结果:baidu.com.cn。

7.4 topLevelDomain()

用法:

SELECT topLevelDomain('http://www.baidu.com.cn')

结果:cn。

7.5 firstSignificantSubdomain()

用法:

SELECT  firstSignificantSubdomain('http://www.baidu.com.cn')`

结果:baidu。

7.6 path()

用法:

SELECT path('https://www.baidu.com/s?wd=SQL%E4%B8%AD%E7%9A%84split&rsv_spt=1&rsv_iqid=0xb79d2a30000683c8&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=baiduhome_pg&rsv_enter=0&oq=SQL%2520if()&rsv_t=c9ecC9JfyBAd%2Bobx3UmEq4ZivwZzO7M%2Bar6xjhU3caPXwxMwD76F9AUI%2FaX%2B6jUYE4Lb&inputT=7416&rsv_pq=c8d2f6750000cc4e&rsv_sug3=35&rsv_sug1=35&rsv_sug7=100&rsv_sug2=0&rsv_sug4=8521')

结果:/s。

7.7 cutQueryString()

用法:

SELECT  cutQueryString('https://www.baidu.com/s?wd=SQL%E4%B8%AD%E7%9A%84split&rsv_spt=1&rsv_iqid=0xb79d2a30000683c8&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=baiduhome_pg&rsv_enter=0&oq=SQL%2520if()&rsv_t=c9ecC9JfyBAd%2Bobx3UmEq4ZivwZzO7M%2Bar6xjhU3caPXwxMwD76F9AUI%2FaX%2B6jUYE4Lb&inputT=7416&rsv_pq=c8d2f6750000cc4e&rsv_sug3=35&rsv_sug1=35&rsv_sug7=100&rsv_sug2=0&rsv_sug4=8521')

结果:https://www.baidu.com/s。

8、字典函数

8.1 dictGetString()

用法:

SELECT dictGetString('ck_abc_dic', 'ck_value', tuple(_abc)) AS abc
FROM DB.TABL
WHERE date=today()
LIMIT 10;

ClickHouse常用函数统计相关推荐

  1. clickhouse 常用函数 算数函数 时间函数 日期函数 字符串函数 比较函数 数据类型函数 逻辑函数 类型转换函数 替换函数 数组函数 随机函数 编码函数 UUID URL IP 函数

    clickhouse 常用函数 算数函数 时间函数 日期函数 字符串函数 比较函数 数据类型函数 逻辑函数 类型转换函数 替换函数 数组函数 随机函数 编码函数 UUID URL IP 函数 算数函数 ...

  2. excel常用函数公式及技巧_Excel统计类函数公式应用技巧解读,绝对的硬核干货!...

    Excel的功能在于对数据进行统计和计算,其自带了很多的函数,利用这些函数可以完成很多的实际需求,经过加工和处理,还可以组成很多的公式,其功能就更加的强大,今天,小编带大家了解一下Excel中的常用的 ...

  3. clickhouse 多维分析函数

    前言 clickhouse的强大之处在于充分利用内存计算的高效性从而快速得到计算结果,尤其是对于一些需要做聚合分析.统计等场景下,clickhouse提供了一些按维度分析的函数,本文将介绍clickh ...

  4. (Excel)常用函数公式及操作技巧之四:文本与页面设置(二)

    (Excel)常用函数公式及操作技巧之四:文本与页面设置(二) (Excel)常用函数公式及操作技巧之四: 文本与页面设置(二) --通过知识共享树立个人品牌. Excel打印中如何不显示错误值符号 ...

  5. linux驱动常用函数

    目录 设备树常用 OF 操作函数 查找节点的 OF 函数 1.of_find_node_by_name 2.of_find_node_by_type 3.of_find_compatible_node ...

  6. dplyr 数据操作 常用函数(2)

    继上一节常用函数,继续了解其他函数 1.desc() 这个函数和SQL中的排序用法是一样的,表示对数据进行倒序排序. 接下来我们看些例子. a=sample(20,50,rep=T)a desc(a) ...

  7. Hive常用函数大全一览

    Hive常用函数大全一览 1 关系运算 1.1 1.等值比较: = 1.2 2.不等值比较: 1.3 3.小于比较: < 1.4 4.小于等于比较: <= 1.5 5.大于比较: > ...

  8. php中strrpos函数的返回值类型是型_PHP常用函数总结

    PHP常用函数总结 输出: 整形,相同字符数量 57.strrchr(): 返回一个字符串在另一个字符串中最后一次出现位置开始到末尾的字符串 调用: string strrchr ( string $ ...

  9. linux网络编程常用函数详解与实例(socket--bind--listen--accept)

    常用的网络命令: netstat 命令netstat是用来显示网络的连接,路由表和接口统计等网络的信息.netstat有许多的选项我们常用的选项是 -an 用来显示详细的网络状态.至于其它的选项我们可 ...

  10. (Excel)常用函数公式及操作技巧之九:查询和查找引用

    (Excel)常用函数公式及操作技巧之九: 查询和查找引用 --通过知识共享树立个人品牌. 查找顺序公式 =LOOKUP(2,1/(A1:A20<>0),A1:A20) =MATCH(7, ...

最新文章

  1. c# getresponsestream返回byte[]_C# 基础知识系列-13 常见类库(三)
  2. uva705--slash maze
  3. oracle sql 查询优化器,基于ORACLE成本优化器的SQL查询优化分析与应用
  4. java 教室借用管理系统_[内附完整源码和文档] 基于JAVA语言的学生选课信息管理系统...
  5. array函数参数 scala_scala – 在Spark SQL中将数组作为UDF参数传递
  6. UML学习笔记(六)【状态图】
  7. “鉴定一下网络热门平台上的小广告”
  8. UVA10079 Pizza Cutting
  9. protoc 命令 java_用proto命令生成java文件
  10. 【游戏开发】游戏开发书籍汇总
  11. vs code 代码格式化整理
  12. baidumap vue 判断范围_vue-baidu-map 行政区域划分
  13. R安装时出现辑程包不存在,解决方法
  14. command '/Android/Sdk/build-tools/21.1.2/aapt'
  15. CSDN-JayChou测试
  16. linux u盘 中毒,linux对中毒u盘分区和格式化
  17. 个人项目----吴华文
  18. android Qwerty 键盘搜索联系人分析与实现(支持多音字)
  19. Linux Mint + win10 双系统初体验
  20. 小甜甜布兰妮 天后神马时候才能消停点the soklo

热门文章

  1. 网站搭建的流程是什么
  2. 谷歌Android UI设计技巧
  3. PHP 使用GD库合成带二维码的海报步骤以及源码实现
  4. Android 进阶——系统启动之核心SystemServer进程启动详解(七)
  5. 北京程序员平均工资达2万!你拖后腿了吗?
  6. 编程中如何不使用中间变量的情况下将两个变量的值进行交换
  7. lisp填挖横断面提取_如何在别人提供的cad横断面设计图中提取横断面地面线数据...
  8. 蓝光三维扫描仪 蓝光投影仪
  9. stm32f103rc片内Flash使用FAL库配置说明
  10. 计算机的运算符号,运算符号包括哪些