ClickHouse | 查询

1 ALL 子句   

04bd975f3462d2cdd4161e6b9166eeb6.png

2 ARRAY JOIN    

f70a6a6fe1fa8ff929f927ab4e4dbdd7.png

46d4699154a0d0eb24e7f8115962c43a.png    

使用别名 :在使用时可以为数组指定别名,数组元素可以通过此别名访问,但数组本身则通过原始名称访问

0593c8933ee95d83c2ca9f0f30c887d2.png

3 DISTINCT子句  

DISTINCT不支持当包含有数组的列    

d71ee402b685554a57d369088b054fe8.png

4 FROM子句  

FROM 子句指定从以下数据源中读取数据:

1.表

2.子查询 

3.表函数

JOIN 和 ARRAY JOIN 子句也可以用来扩展 的功能FROM

子查询是另一个 可以指定在 后的括号内的查询。

FROM 子句可以包含多个数据源,用逗号分隔,这相当于在他们身上执行 CROSS JOIN

5 GROUP BY子句    

3e512928eacf379d2ad96345d4d0c1c7.png

6 HAVING 子句  

允许过滤由 GROUP BY 生成的聚合结果. 它类似于 WHERE ,但不同的是 在聚合之前执行,而 之后进行。

可以从 生成的聚合结果中通过他们的别名来执行 子句。或者 子句可以筛选查询结果中未返回的其他聚合的结果。

限制HAVING如果不执行聚合则无法使用

7 Join    

支持的联接类型

所有标准 SQL JOIN 支持类型:

INNER JOIN,只返回匹配的行。

LEFT OUTER JOIN,除了匹配的行之外,还返回左表中的非匹配行。

RIGHT OUTER JOIN,除了匹配的行之外,还返回右表中的非匹配行。

FULL OUTER JOIN,除了匹配的行之外,还会返回两个表中的非匹配行。

CROSS JOIN,产生整个表的笛卡尔积, “join keys” 是 不 指定。

dd5550b1158f57046433ae46d0e0ebe2.png

06d3696b1888987fd6061a3fc7fb7ced.png

semi: 类似于mysql的exists、in查询

anti :类似于mysql的not exists、not in查询

ASOF 是一种模糊连接,允许在连接键之后追加定义一个模糊连接的匹配条件asof_column

ASOF会先以 left.key = right.key 进行连接匹配,然后根据AND 后面的 closest_match_cond(也就是这里的a.time >= b.time)过滤出最符合此条件的第一行连接匹配的数据。

对 asof_colum 字段的使用有3点需要注意:    

必须包含一个有序的序列

asof_column 必须Int, UInt, Float, Date, DateTime, Decimal.

asof_column不能是数据表内的唯一字段,也就是说连接键(JOIN KEY)和asof_column不能是同一字段

4eb905223d058d97057482efb90aaf19.png

034318b735812418ae023be421a0e7db.png

 分布式join  

ClicHouse分布式join通常涉及到左右表为分布式表,分布式执行过程中需要将数据在节点间进行交换,将数据在节点间交换的动作在分布式执行计划中称为数据的流动streaming算子,ClickHouse支持的streaming算子有如下三种:

Broadcast Join 数据广播算子

Shuffer Join 数据重分布算子    

Colocate Join 数据存储在本地不需要进行分布式交换

GLOBAL JOIN  

717cfda4167f34d57f824ef7e1573835.png

4f2f11cbba4048f33a0e5442a8791797.png

0d0e0dfd4e11c92c0d4b1b3f74977fb0.png    

a7d2c69984e2a328865b82bff110e088.png

Colocate Join  

75781028f6a8f022d462da61006f77b6.png

1eb7cf92e2c203b6741005fbdc16c242.png    

8e333c0ee210859925ecde201fce1a34.png

223887eb941b79c58cd6bdbef4d0d66c.png58f9cb6fafc2b4f1305d24a83bca4ef4.png

8 Limit  

LIMIT m 允许选择结果中起始的 行。m

LIMIT n, m 允许选择个 从跳过第一个结果后的m 行。与 语法是等效的。mnLIMIT m OFFSET n

n 和 必须是非负整数。m

如果没有 ORDER BY 子句显式排序结果,结果的行选择可能是任意的和非确定性的    

9192155f56f80dbd67a5e89d5e8e862a.png

9 Limit by  

c8e211b112f1c2082020a49b12cc1b06.png

94d0b616d1001c77102be1ad66508bbf.png    

10 Order by  

82087b9f9baf3e504e495a995ef03bcc.png

11 Where prewhere  

.PREWHERE与WHERE不同之处在于:使用PREWHERE时,首先只会去PREWHERE指定的列字段数据,用于数据过滤的条件判断。在数据过滤之后再读取SELECT声明的列字段以补全其余属性。所以在一些场合下,PREWHERE相比WHERE而言,处理的数据更少,性能更高。

clickhouse提供了自动

.          

.          

化优化的功能,会在条件合适的情况下将where替换为prewhere。默认已经开启了此参数

.          

33858c87adf57f5e554d8117f16ba43b.png

12 Sample  

语法

f78dc50cbe85e93f960983064f329da3.png

ee296dca5e03444eefd0c315e13249a3.png

举例

38eaad5a1a1c873bf96dc8f996b8e3d6.png

a74c1f4a0b18dc703095e57ab608fdf0.png

13 Union all  

dd92bb5a27899609f8e4d572aa06fed8.png

结果列通过它们的索引进行匹配(在内部的顺序 ).如果列名称不匹配,则从第一个查询中获取最终结果的名称

对联合执行类型转换。例如,如果合并的两个查询具有相同的字段与非- 和 从兼容类型的类型,由此产生的 有一个 类型字段

14 WITH子句  

ef2588926d4b9d210e7c41d4a8b692e0.png    

55ad940383eb008ac153eb81f2112aeb.png 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/884796.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【微服务即时通讯系统】——brpc远程过程调用、百度开源的RPC框架、brpc的介绍、brpc的安装、brpc使用和功能测试

文章目录 brpc1. brpc的介绍1.1 rpc的介绍1.2 rpc的原理1.3 grpc和brpc 2. brpc的安装3. brpc使用3.1 brpc接口介绍 4. brpc使用测试4.1 brpc同步和异步调用 brpc 1. brpc的介绍 1.1 rpc的介绍 RPC(Remote Procedure Call)远程过程调用,是一…

在线远程考试|基于springBoot的在线远程考试系统设计与实现(附项目源码+论文+数据库)

私信或留言即免费送开题报告和任务书(可指定任意题目) 目录 一、摘要 二、相关技术 三、系统设计 四、数据库设计 五、核心代码 六、论文参考 七、源码获取 一、摘要 信息数据从传统到当代,是一直在变革当中,突…

常用的cmd命令——使用bat命令创建程序的快捷方式

示例使用场景:例如便携版的软件,需要往桌面发快捷方式 如便携的浏览器,给桌面发送快捷方式,同时设置快捷方式的启动参数。 下面以谷歌浏览器为例: 浏览器的App的下级目录为如下内容 知道了所需文件的位置,…

实在智能:创业需找准“切口” 并着力做深做透

如今,随着人工智能产业的爆发,大量专注于这一领域的初创企业不断涌现。尽管这种多元化的创新生态为产业发展注入了新的活力,但也不可避免的为初创企业带来了诸多压力和挑战。 浙江实在智能科技有限公司(以下简称“实在智能”)作为一家成立6年…

近万字深入讲解iOS常见锁及线程安全

什么是锁? 在程序中,当多个任务(或线程)同时访问同一个资源时,比如多个操作同时修改一份数据,可能会导致数据不一致。这时候,我们需要“锁”来确保同一时间只有一个任务能够操作这个数据&#…

文档翻译软件哪个好用?高效翻译看这里

文档翻译对打工人来说是件很头疼的事情吧?不仅是因为复杂的专业词汇,还因为不同语言之间的表达方式差异,使得翻译工作变得异常繁琐。 不过,幸运的是,现在有许多在线工具可以帮助我们轻松地翻译文档。 这些工具大多数…

【Linux】ubuntu 16.04 搭建jdk 11 环境(亲测可用)

目录 0.环境 1.题外话 2.详细 0.环境 windows11 主机 Virtual Box 7.0 ubuntu 16.04系统 想搭建个 jdk11的环境,用于项目 1.题外话 因为虚拟机与主机传输文件不方便,所以可以尝试用共享文件夹的方式传输,亲测可用,参考以下博…

C# 游戏引擎中的协程

前言 书接上回,我谈到了Unity中的协程的重要性,虽然协程不是游戏开发“必要的”,但是它可以在很多地方发挥优势。 为了在Godot找回熟悉的Unity协程开发手感,不得不自己做一个协程系统,幸运的是,有了Unity的…

探索顶级低代码开发平台,实现创新

文章盘点ZohoCreator、OutSystems等10款顶尖低代码开发平台,各平台以快速开发、集成、数据安全等为主要特点,适用于不同企业需求,助力数字化转型。 一、Zoho Creator Zoho Creator 是一个低代码开发平台,它简化了应用开发中的复杂…

PK过Google、Facebook,YouTube竟然是外贸引流营销的新前景

在如今的外贸行业中,广告投放已经成为商家吸引客户和提高销量的重要工具。众所周知,Facebook和谷歌是广告投放的两大巨头平台。这两者以其强大的用户基数和广告精准性在市场上占据主导地位。然而,随着互联网的发展和消费趋势的改变&#xff0…

MongoDB 工具包安装(mongodb-database-tools)

首先到官网下载工具包,进入下面页面,复制连接地址,使用wget下载 cd /usr/local/mongodb5.0.14/wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel70-x86_64-100.6.1.tgz 安装 tar -zxvf mongodb-database-tools-rhel70-…

《北方牧业》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问:《中国动物检疫》是不是核心期刊? 答:不是,是知网收录的正规学术期刊。 问:《中国动物检疫》级别? 答:省级。主管单位:河北省畜牧局 主办单…

【rust】 基于rust编写wasm,实现markdown转换为html文本

文章目录 背景转换预览核心代码前置依赖rustup换源 cargo本地路径修改(可选)cargo换源中科大 wasm-pack安装 背景 尝试用rust编写一款markdown转html的插件,通过wasm给html使用,不得不说体积挺小,约200K, …

spring cloud Gateway网关

网关是将所有面向用户的服务接口统一管理的代理服务器,所有内部服务的远程调用都是在局域网内部,而网关是在公网中。 一、依赖 通过访问网关调用项目中的服务,需要使用Eureka,网关服务器需要在Eureka服务注册它自己,本…

Clipboard.js实现复制文本到剪贴板功能

一、Clipboard.js简介 Clipboard.js是一个轻量级的实现复制文本到剪贴板功能的JavaScript插件,该插件可以将输入框,文本域,DOM节点元素中的文本内容复制到剪贴板中。 官网地址:Clipboard.js 浏览器兼容性:兼容Chrome、…

Ubuntu环境切换到服务器某个用户后source等命令和Tab快捷补全都用不了了,提示没找到,但root用户可以

以escs用户为例: 输入以下命令 grep root /etc/passwd grep escs /etc/passwd 对比发现,root用户配的是bash,而escs却是sh, 所以把escs的sh改成和root一样的bash,命令为 usermod -s /bin/bash escs 改好后就可以了。 …

VSCODE驯服日记(三):配置C++环境

1. 下载mingw64,解压后把bin并添加到环境变量 1>编译器介绍 mingw:专为windowsgcc:多平台msvc :windows,且配合vs使用更佳 注意与调试器gdb和lldb的区别 2. 安装vscode插件: 安装C/C插件 安装code ru…

测试管理新增视图与高级搜索功能,测试计划支持一键生成缺陷详情,MeterSphere开源持续测试工具v3.3版本发布

2024年9月29日,MeterSphere开源持续测试工具正式发布v3.3版本。 在这一版本中,接口测试方面,接口导入功能支持导入Postman、JMX、HAR和MeterSphere格式的文件,接口场景的自定义请求步骤支持cURL快捷导入;测试管理方面…

基于趋近律的滑模控制器设计、仿真(S-function)

目录 一、什么是滑模控制?1. 滑模面2. 控制策略3. 抗干扰和鲁棒性4. 滑模控制的应用 二、什么是趋近律?1. 趋近律三大设计目标2. 常见的趋近律形式1. 等速趋近律2. 指数趋近律3. 幂次趋近律 三、滑模控制器设计四、滑模仿真示例1. Simulink仿真框图2. 不同k值下的仿…

MAC如何获取文件数字签名和进程名称

1、安装需要查看数字签名和进程名称的软件包 2、打开终端命令行(Terminal) 3、查找数字签名 在终端命令行中输入: codesign -dvv 安装的软件路径 2>&1 | grep "Authority" | head -n 1 | cut -d -f2”回显即为进程的数…