00:00
好,那我们昨天呢,是把这个呃,之前所讲的窗口函数当中遗留的一些点啊给大家讲了,主要就是这个里边对吧,我们再回过头来看一下,就是这几个啊,当时在前一天的时候提了提了,但是呢没有去用,昨天的时候呢,我们去用了一下,其实呢,这个怎么用呢?这一堆东西。要跟上,在首先在over里边对吧,在over里边,然后接下来语法是肉对吧,然后be。对吧,对不对,然后。是不是有一个按对吧,这是固定的一个语法,语法这两个东西就是填什么。填这个内容啊,填这个内容,而且我们知道它是左臂。右右臂因为我们写从往前推一行往后推啊,它是不是加了三行啊,对吧,也就是说左臂右臂,而且既然是它其实类似于我们所说的一个区间嘛,那区间你不能前面写大的,后面写小的吧,当然我没测了,他说你这个是一个不符不合法是吧。
01:08
区间对吧啊,不可用的应该是不可用的指的是不可用的啊,所以呢,你不要写反了,把小的写在前面啊,把大的写在后面啊,然后之后呢,还有一个就类似于我们可以从开始。从起点哎到终点啊也可以,那这个什么时候用的是有同学有这种想法,假如说我们是这样的啊,嗯,按照一个人呢去排序啊,按照一个人呢去分区,然后数据最终的顺序,我要按照时间排序。同时我还希望计算什么内容呢?当前这个人累计的一个组合。能听懂,就是现在的数据啊,是这个样子吧,现在数据呢,可能是张三,这个张三我就不写了,我就是默认一个人,然后当然还有一次对吧,他现在呢,是可能因为。
02:00
远程传播的数据啊,它不一定是完全是按照时间,有可能有有一个服务器呢,有延迟,它可能是1月1号12点的数据,诶你看到来了,哎,下一条呢是什么?11:59,这个的生长环境当中非常多。因为服务器有延迟嘛,你你采集的数据不是说来自于一台服务器,因为现在整个在生产环境当中,不可能说单台整个的一个后台工作,不可能是单台服务器,它有多台服务器,也就是说你采集数据实时采集到没问题,但是你采集过来的数据很有可能放在你文件系统里面是这个样子。啊,甚至有可能第三条数据张三A11:58啊,来自于另外一台服务器,这都是有可能的,差个几分钟延迟,这都很正常的,在生产当中啊,因为特别是负载比较高的时候,像那个大家下班了对吧?啊,坐在地铁上没事啊,刷一刷那个什么啊淘宝啊之类的啊,那这个时候迎来了一个高峰期,访问量非常度特别高的时候啊,像这种时候呢,这个数据它有一定的一个延迟啊,看服务器的一个响应速度了等等这些都有影响啊,都有影响,好,现在假如说同时还有一点数据是1月1号啊,12点诶就正常了,对吧,有一分啊,也就是说过来的数据是无序的,最后你是不是想把它整成有序的。
03:17
同时呢,因为想做什么事呢,我第一我想这个数据啊,变成张三对吧,呃,按照11:58,按照这个什么,11:59,呃,然后12点,然后12:01对吧,那顺序同时我要记录一下当前这个人呢总的购买额。总的购买额,那之前按照我们开窗函数来说,总的购买额这块。怎么做?是不是直接用over里边写一个partition by use ID就行了?对吧,没问题吧,我怕ID被够了,但是你对原始数据直接ID。
04:00
每一列都是一样,每个都一个,这没问题,你这个顺序是什么,还是原来的这个顺序吧,没有排序啊,甚至有可能是倒序的,反正就是没有达到我们要的那个顺序,我们要排是从小到大排的吧,那无论是原来的顺序还是说倒着来,因为有可能你不排序是不是,我们当时看了好几次,你不排序的时候,它把数据倒过来对吧?啊,那无论这样,这不是我们要的效果啊,那我们就想呢,那我们在OPO里边,除了他by use ID之外,再加一个order by这个时间呗。但是你一加奥特曼时间,你就会发现这个数据怎么走的。当你是第一条的时候,它是不是把自己累加了一下,而对于这条的时候,它是不是加的人数十八五十九的数据。然后这个呢,是加了这三条数据嘛,然后他就在这又不是你要的需求,那这个时候我们的什么这个东西。就有用了,你可以先写上part by什么东西?UID,然后outb这个DT,然后再接下来写一下Rose。
05:05
对吧,把这个从前到后写一下。啊,然后重因为重新规划它这个开装嘛,啊,然后另外呢,仅仅做一个什么排序的一个功能,排序功能,因为用Rose重新对你这个窗口啊,重新做一个规划,这样是不是达到我们的个需求。对吧,既是排好序的,又按照同一个人做了什么总和的一个累加能听懂。对吧?啊,当然你不这样做也可以,怎么做呢,我先干你什么事。我先用O把前面顺据排一下,然后按照人去做,它也会是有序的了啊,也会是有序的是这个意思啊,当然了那个就会用到一个查询,这个呢,我们在欧函数里面就搞定了啊,就搞定了,其实这个整体啊,这一块东西呢,用的不多啊,相对说比较少一点,咱们要记得就是帕脉跟欧。这一组,然后跟so back啊,这是一组两组啊,你要记住这两组啊,记住这两组。
06:00
好呃,之后呢是Li LA,还有这个跟,以及接下来的rank啊,把它呢跟G啊跟上面做一个区分,上面呢写在O里边,这个是写在O外面,它是属于窗口函数的分析函数。啊,写在窗口前面的一个分析函数对吧?窗口函数,因为我们讲的是这个O啊,这些东西呢,叫分析函数啊叫分析函数你要取什么值啊,因为O这个东西啊,决定你这个窗口怎么开对吧?至于你前面计算so还是说用取前一列还是后一列,还是说要把这个数据集均均分成五份啊四份啊这个窗口他不管吧,我只负责给你开一个数据集,对吧?啊,其他的做什么操作你随意,你求平均数,求总和,求抗哎都可以啊,随便就是看你窗口前面所写的那个聚落函数了,啊是这意思。啊,这个是我们所讲点,然后至于re当中我们说的有三种吧,对吧?啊三种主要体现在如果说排序规则相同的时候。
07:04
就是根据某一个培训规则,有两条数据是一样的。对吧,这三者就会有区别了,对吧,如果说你这个时间就是一号二号三号,所有的数据呢,都是唯一的。三者有区别吗?没区别对吧,121234这样排的,1234这样排的,那在有区别的时候,我们说了三个函数呢,一个叫rank。一个是decent。啊,Den SE对吧,还有一个是room number对吧?啊,Number,那其实我们说了这三个呢,也比较好记,我们记两个吧。对吧,这两个字母长的这么长的,第三次叫密集的啊,那就是1123对吧,那nove叫行号,行号不可能重复对吧,那就是1234,我管你一不一样,不好意思,我就1234对吧,按照你顺序来,那最后一个。
08:00
重复对吧,1134对吧?啊,这个你稍微记一下,就看你公司当中到时候定这个指标的时候,他希望要什么样的数据,你再去选择就行了啊,脑子里边有印象有这三种,而且这三种其实呃都挺常见的啊,在生生活环境当中呢,都会用到啊,都会表示这个意思啊,这个是主要是我们昨天所讲的一些东西啊,包括昨天的一个练习题啊,希望大家把那个去总结总结,因为那个练习题呢,主要的还是针对于我们当前的抄股函数。做的一些操作,类似于我们做的分组套盘对吧,你们之前写满的那个分组套是不是次关联对吧?啊,自关联出来一张临时表,然后对这张临时表呢,进行一个查询啊,进行一个查询啊,现在呢,不用了,因为我们有over,我们是可以对区内进行排序啊,对吧?然后每个排序你取前三名还是前五名,你只要那个R。小于等于五取的前五名,小于等于三取的就是前三名啊,就很方便对吧,假如说这个地方呢,我们就是这个学科,我们要取学科前三名,那就很简单,我们就取那个什么。
09:09
最后一列,假如说我们取了名字叫RP啊,什么D啊,这个无所谓叫RK了啊,随便你随便取一个吧,因为我们是测试三个函数。这是三个函数啊,那你随便RK小于等于三就OK了啊,至于你选哪一种,还是我们所说的看业务来定吧啊,决定你的业务来决定你取哪一种了。这是主要是我们昨天所讲的那些东西啊。
我来说两句