利志分享
fast_forward
view_headline
开发工具箱
go教程
clickhouse教程
kafka教程
python教程
shell教程
原创杂文
打赏
开发工具箱
go教程
clickhouse教程
kafka教程
python教程
shell教程
原创杂文
打赏
clickhouse入门
clickhouse概述
clickhouse安装和部署
clickhouse数据类型
clickhouse表引擎学习
clickhouse表引擎学习2
clickhouse的sql语法功能1-创建库,创建表等
clickhouse的sql语法2之select功能
clickhouse的sql语法3之alter和show功能
clickhouse的sql语法4之system的了解-查看当前实时连接数
clickhouse的sql语法5之账号授权功能
浅析Clickhouse的向量化执行
clickhouse时间日期函数详解-toDate,toDateTime,formatDateTime
clickhouse常用字符串函数-empty,length,lower,upper,substring,splitByString
clickhouse常用数组函数-arrayJoin,arraySort,arrayReverseSort,arrayReduce,arrayDistinct
clickhouse常用hash函数和类型转换函数,随机函数
clickhouse实战
clickhouse实现漏斗功能
clickhouse实现留存数和留存率计算
你想要的-提高统计clickhouse的查询效率,clickhouse物化视图的应用
剖析-clickhouse的复制表引擎重复数据无法写入问题
clickhouse分布式查询报错剖析-Double-distributed IN/JOIN subqueries is denied (distributed_product_mode = 'deny'
有料-clickhouse单机的增删查询实现方案和clickhouse分布式部署的增删查改实现方案
clickhouse的go客户端实现插入分布式clickhouse集群方式
分布式物化视图在clickhouse如何实现?
助你成为数据分析达人-带你透彻的了解clickhouse实现同比环比分析
如何在clickhouse中实现连续的时间,比如连续的天
第二篇:如何在clickhouse中实现连续的时间,比如连续的天
clickhouse中toDate和toDateTime不能处理1970年之前时间问题
分享clickhouse分布式集群CPU突然暴涨接近100%的问题查证和分析
clickhouse一个特殊的Inf类型数据引发的数据问题
clickhouse的MergeTree系列引擎ReplacingMergeTree和SummingMergeTree的深入理解
sql中多表组合笛卡尔积引发数据动态变化的问题
clickhouse之删除数据或更新数据无效的解决思路-mutations相关
clickhouse(20.3.10.75版本) Sql报错总结
clickhouse网络架构问题引发的:All connection tries failed,Attempt to read after eof,While executing Remote报错
clickhouse深入
深入了解clickhouse的索引查询过程
详解clickhouse的MergeTree引擎存储结构
Clickhouse如何分析sql查询计划完整指南
详解clickhouse分区目录的合并过程
目录
clickhouse入门
clickhouse概述
clickhouse安装和部署
clickhouse数据类型
clickhouse表引擎学习
clickhouse表引擎学习2
clickhouse的sql语法功能1-创建库,创建表等
clickhouse的sql语法2之select功能
clickhouse的sql语法3之alter和show功能
clickhouse的sql语法4之system的了解-查看当前实时连接数
clickhouse的sql语法5之账号授权功能
浅析Clickhouse的向量化执行
clickhouse时间日期函数详解-toDate,toDateTime,formatDateTime
clickhouse常用字符串函数-empty,length,lower,upper,substring,splitByString
clickhouse常用数组函数-arrayJoin,arraySort,arrayReverseSort,arrayReduce,arrayDistinct
clickhouse常用hash函数和类型转换函数,随机函数
clickhouse实战
clickhouse实现漏斗功能
clickhouse实现留存数和留存率计算
你想要的-提高统计clickhouse的查询效率,clickhouse物化视图的应用
剖析-clickhouse的复制表引擎重复数据无法写入问题
clickhouse分布式查询报错剖析-Double-distributed IN/JOIN subqueries is denied (distributed_product_mode = 'deny'
有料-clickhouse单机的增删查询实现方案和clickhouse分布式部署的增删查改实现方案
clickhouse的go客户端实现插入分布式clickhouse集群方式
分布式物化视图在clickhouse如何实现?
助你成为数据分析达人-带你透彻的了解clickhouse实现同比环比分析
如何在clickhouse中实现连续的时间,比如连续的天
第二篇:如何在clickhouse中实现连续的时间,比如连续的天
clickhouse中toDate和toDateTime不能处理1970年之前时间问题
分享clickhouse分布式集群CPU突然暴涨接近100%的问题查证和分析
clickhouse一个特殊的Inf类型数据引发的数据问题
clickhouse的MergeTree系列引擎ReplacingMergeTree和SummingMergeTree的深入理解
sql中多表组合笛卡尔积引发数据动态变化的问题
clickhouse之删除数据或更新数据无效的解决思路-mutations相关
clickhouse(20.3.10.75版本) Sql报错总结
clickhouse网络架构问题引发的:All connection tries failed,Attempt to read after eof,While executing Remote报错
clickhouse深入
深入了解clickhouse的索引查询过程
详解clickhouse的MergeTree引擎存储结构
Clickhouse如何分析sql查询计划完整指南
详解clickhouse分区目录的合并过程
如何在clickhouse中实现连续的时间,比如连续的天
阅读:505
分享次数:0
在我们的业务中如果按照天去查询数据结果,服务端返回数据可能会出现某些天没数据,这样就会出现输出前端某些天可能没有的情况,然后这样看数据就可能出现视觉差错,体验不好。所以我们一般情况下要么通过sql来实现连续的时间查询,比如连续的天,要么通过程序处理时间,然后再循环数据按照某一天匹配之后返回结果给前端。 下面我们这里分享一下在clickhouse中如何实现连续的时间:连续的天 我们在clickhouse中实现连续的时间首先要学习一下range,arrayMap,arrayJoin这三个函数的使用。 range 语法: range([start, ] end [, step]) start:起始值 end:结束值 step:步长 案例:从5开始到10结束,步长为2的值得输出: 执行命令:select range(5,10,2) 输出结果: ┌─range(5, 10, 2)─┐ │ [5,7,9] │ └─────────────────┘ ------------ arrayMap 语法: arrayMap(func, arr1, …) func:函数的执行方式,一般表示arr1里面值按照什么标准执行 arr1:数组 案例:求第一个数组的2倍,第二个数组的5倍 执行命令:select arrayMap((x,y)->(x*2,y*5),[1,34],[8,5]) 输出结果: ┌─arrayMap(lambda(tuple(x, y), tuple(multiply(x, 2), multiply(y, 5))), [1, 34], [8, 5])─┐ │ [(2,40),(68,25)] │ └───────────────────────────────────────────────────────────────────────────────────────┘ ------------ arrayJoin 语法: arrayJoin(arr1) arr1:数组 案例:把数组[1,2,4]变成三列 输出命令:select arrayJoin([1,2,4]) 输出结果: ┌─arrayJoin([1, 2, 4])─┐ │ 1 │ │ 2 │ │ 4 │ └──────────────────────┘ 好了上面三个函数已经给大家分享了一遍,下面我们直接看下如何实现连续的天 实现2021.1.1到2021.1.10连续的时间,我们首先需要用range把数组自增,然后通过arrayMap转换成对应的时间,然后通过arrayJoin进行转换成列。下面我们看下结果: 执行命令: select arrayJoin(arrayMap(x -> toDate(x), range(toUInt32(toDate('2021-01-01')),toUInt32(toDate('2021-01-10')) + 1))) day; 结果如下: ┌────────day─┐ │ 2021-01-01 │ │ 2021-01-02 │ │ 2021-01-03 │ │ 2021-01-04 │ │ 2021-01-05 │ │ 2021-01-06 │ │ 2021-01-07 │ │ 2021-01-08 │ │ 2021-01-09 │ │ 2021-01-10 │ └────────────┘ 总结:学习clickhouse的高阶函数使用对分析数据特别有用
感觉本站内容不错,读后有收获?
attach_money
我要小额打赏,鼓励作者写出更好的教程
扫码关注公众号:talk_lizhi