栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 云计算 > 云平台

clickhouse的sql语法独特之处

云平台 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

clickhouse的sql语法独特之处

这个话题其实可以用于扩大为各个sql语法的不同之处。本文clickhouse版本:20.7.2.30

--mysql
select 
    id ,name
from test.person
group by id;

msyql可以有上面的语法,hive sql却不行,hive的sql语法和mysql有不同之处众所周知,比如有group by 语法存在的时候,hive要求select后面的非聚合字段必须是group by后面的分组字段,这个其实很好理解,我们也接受了,因为严格来说确实是这样,对于同一个组的非分组字段会有不一样的数据,如果你也查询出来你算哪一个呢?并且如果你真的想随便查出来一个,hive里面可以用first() 函数。

--hive
select 
    id ,first(name) name 
from test.person
group by id;

还有一些比如说hive不支持in 语法(老版本是这样,新版本没去细究),所以我们习惯用join解决,这些都没问题,但总的来说我们对sql的执行顺序的理解大致是一致的,如下:

from -> join -> where ->group by -> select ->having ->order by -> limit 

然而最近clickhouse的使用让我发现clickhouse里面sql执行顺序似乎并非如此,比如 mysql 或者hive我们执行一下语句:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/896073.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号