0
推荐
1414
阅读

【数据蒋堂】第30期:JOIN简化 – 消除关联

近期,蒋步星在「天善智能」直播分享了《JOIN运算的简化与提速》,视频地址:https://edu.hellobi.com/course/197/lessons (主题二)。接下来的几期《数据蒋堂》将针对该问题进行详细的文字解读,帮助大家理解。我们将等值JOIN分成三种情况来分别讨论,分情况相当于加强了条件,我们可以充分利用每种情况下的特征。1. ...

发表了文章 • 2018-02-02 11:03 • 0 条评论

0
推荐
1231
阅读

【数据蒋堂】第29期:JOIN运算剖析

10月19日,蒋步星在「天善智能」直播分享了《JOIN运算的简化与提速》,视频地址:https://edu.hellobi.com/course/197/lessons  (章节2)。接下来几期《数据蒋堂》将针对该问题进行详细的文字解读,帮助大家理解。JOIN是SQL中用于多表关联的运算,无论从程序员编写还是数据库实现角度来看,JOIN都是SQL中最难的运...

发表了文章 • 2018-02-01 16:14 • 0 条评论

1
推荐
1607
阅读

趣味集算:两行搞定GREP搜索

What?两行代码搞定GREP搜索?如果不是经常使用Linux,估计你看到这个标题后会一脸不屑加满脸狐疑: GREP搜索是个什么鬼?又一个搜索引擎问世?比百度牛x吗?楼主你过来讲讲,你是如何只用两行代码就搞定搜索的。我给你一个关键字,你能还我一堆URL?误会误会,你就是给我十个关键字,我也还不了一个URL的。因为我说的搜...

发表了文章 • 2018-02-01 13:04 • 0 条评论

1
推荐
1580
阅读

【数据蒋堂】第28期:迭代聚合语法

我们讨论过的常规聚合运算如SUM/COUNT和非常规聚合运算如maxp/top,都是事先设计好的聚合函数。但如果我们想实现一个以前没有定义过的运算怎么办?是否可以用已有的语法和函数组合出来?比如想做连乘运算,显然这也算是一种聚合。(题外话:连乘可以用exp(SUM(ln(x)))来做,不过这有点耍赖了,而且这还对付不了成员是负...

发表了文章 • 2017-11-13 10:52 • 0 条评论

1
推荐
1545
阅读

【数据蒋堂】第27期:非常规聚合

标准SQL中提供了五种最常用的聚合运算:SUM/COUNT/AVG/MIN/MAX。观察这几个运算,我们发现它们都可以看成是一个以集合为参数返回单值的函数,我们就先把这个共同点理解为聚合运算的定义,把集合变成单值,多个值变成一个值,也就是发生了”聚合“,所以叫聚合运算。那么很显然,有集合的时候就可以应用聚合运算了,所以SUM...

发表了文章 • 2017-11-03 13:52 • 0 条评论

0
推荐
1312
阅读

【数据蒋堂】第26期:再谈有序分组

细心的读者可能会发现,我们在讨论有序分组时只研究了待分组集合的成员次序对分组运算可能的影响,但即然要考虑集合的有序性,那么结果集的成员次序是不是也有业务意义呢?确实有意义,不过重要程度不如原集有序性。 分组结果集的有序性有两个方面,一是这些分组子集以什么次序返回,二是分组子集的成员是什么次序...

发表了文章 • 2017-11-03 13:46 • 0 条评论

0
推荐
1357
阅读

【数据蒋堂】第25期:有序分组

我们知道,SQL延用了数学上的无序集合概念,所以SQL的分组并不关注过待分组集合中成员的次序。我们在前面讨论过的等值分组和非等值分组,也都没有关注过这个问题,分组规则都是建立在成员取值本身上。但如果我们要拓展SQL,以有序集合为考虑对象时,那就必须考虑成员次序对分组的影响了,而且,现实业务中有大量的有序分...

发表了文章 • 2017-10-25 15:58 • 0 条评论

2
推荐
1577
阅读

【数据蒋堂】第24期:非等值分组

 前一期 【数据蒋堂】第23期:还原分组运算的本意我们在上一期研究了分组运算的实质,即将一个集合按某种规则拆分成若干子集。不过,上期的关注重点在于还原分组运算的步骤,而没有讨论拆分规则,例子中都是用某些字段(或表达式)来定义拆分规则,也就是SQL中使用的方法。我们把这种拆分方式称为等值分组。&n...

发表了文章 • 2017-10-17 11:35 • 0 条评论

0
推荐
1333
阅读

【数据蒋堂】第23期:还原分组运算的本意

                分组是SQL中常见的运算,但未必所有人都能深刻地理解它。分组运算的实质是将一个集合按照某种规则拆分成若干个子集,也就是说,返回值应当是一个由集合构成的集合,但人们一般并不太关心构成这个集合的成员集合(我们称为...

发表了文章 • 2017-10-13 15:59 • 0 条评论

0
推荐
1450
阅读

【数据蒋堂】第22期:有序遍历语法

前一期 【数据蒋堂】第21期:常规遍历语法我们继续讨论遍历运算的语法规则。5. 序号的引用SQL延用了数学上的无序集合概念,遍历时也不关注次序。但计算机只能一步步地执行(暂先不考虑并行计算的情况),遍历集合时总会有个次序,充分利用这个次序就可以方便地表达更丰富的计算需求。比如我们想从一个集合取出半数...

发表了文章 • 2017-09-28 14:06 • 0 条评论

1
推荐
1442
阅读

【数据蒋堂】第21期:常规遍历语法

遍历可以说是最基本的集合运算了,比如求和、计数、寻找最大最小值等聚合运算,按条件过滤集合、根据集合成员生成另一个新集合,也都是遍历运算。集合化语法要求我们能用很短的语句(经常就只有一句,而不是若干语句构成的一段程序)来描述大部分遍历运算,这样我们需要考查遍历运算中可能出现的各种常见情况,并设计出...

发表了文章 • 2017-09-19 11:24 • 0 条评论

1
推荐
1387
阅读

【数据蒋堂】第20期:从SQL语法看离散性

所谓离散性,是指集合的成员可以游离在集合之外存在并参与运算,游离成员还可以再组成新的集合。从离散性的解释上可以知道,离散性是针对集合而言的一种能力,离开集合概念单独谈离散性就没有意义了。离散性是个很简单的特性,几乎所有支持结构(对象)的高级语言都天然支持,比如我们用Java时都可以把数组成员取出来单...

发表了文章 • 2017-09-12 13:35 • 0 条评论

0
推荐
1300
阅读

【数据蒋堂】第19期:从SQL语法看集合化

当前的大数据平台在处理结构化数据时大都仍然以提供SQL语法为主流。兼容SQL的好处是很明显的,SQL的应用非常广泛,会SQL的程序员很多,如果继续采用SQL则可以避免许多学习成本。支持SQL的前端软件也很多,使用SQL的大数据平台很容易融入这个现成的生态圈中。大数据平台打算替代的传统数据库也是SQL语法的,这样兼容性会...

发表了文章 • 2017-08-22 09:49 • 0 条评论

1
推荐
1493
阅读

【数据蒋堂】第18期:SQL用作大数据计算语法好吗?

当前的大数据平台在处理结构化数据时大都仍然以提供SQL语法为主流。兼容SQL的好处是很明显的,SQL的应用非常广泛,会SQL的程序员很多,如果继续采用SQL则可以避免许多学习成本。支持SQL的前端软件也很多,使用SQL的大数据平台很容易融入这个现成的生态圈中。大数据平台打算替代的传统数据库也是SQL语法的,这样兼容性会...

发表了文章 • 2017-08-17 17:45 • 0 条评论

0
推荐
1584
阅读

【数据蒋堂】第17期:SQL的困难源于关系代数

在结构化数据处理领域,SQL无疑是应用最广泛的工作语言,不仅被所有关系数据库采用,许多新进的大数据平台也将实现SQL作为目标。但现实是,面对当前纷杂的计算查询需求,SQL在很多方面并不够好用。我们在前面说过SQL的过程性问题,这其实并不是最关键的问题,SQL的更大困难来源于其理论基础,即关系代数。 关系代数...

发表了文章 • 2017-08-10 14:48 • 0 条评论