00:00
最后一个我们再来看一个导入数据与已有数据的聚合,我们还是先查一下原先这张表啊,Visit。这是已有的数据对吧,那现在呢,我对已有数据的表再插入数据。它也会进行聚合,这个就是对咱们前面讲的几个聚合阶段的说明啊,来我们直接插入,我这边插入的是一次性插入两条数据来。拷贝。啊,我看一下。哦,少了一个字段啊。来刚好啊,我们来演示一下,因为我当时加了一个字段,来一个闹。啊,然后这个字段再加一个,我改完大家直接粘过去用就行了啊。
01:08
好,我重新来啊。好,现在OK了。那我们再次查询。对比一下。好把上面截一下。好,你看原先有1234。566条数据,现在插入了两条,1234567,是不是只有七条啊,我一次性插了两条进去啊。是发生了聚合啊,对吧,那么看看怎么个聚合法呢?呃,我们插入的是两条是什么呢?我看一下1005的,1004的对吧。那我们看原先的数据长啥样啊,啊,这个这条数据1004跟原先数据比较一下,是不是跟这一条可以发生聚合啊。
02:09
来我们对比一下前面几个系列啊,10041004啊10月3号,10月3号。深圳深圳353500好,是不是我新插入的其中一条数据跟原先已有数据的key列完全一致啊,所以它俩是不是要聚合,那么看第一个啊,Last。Date。跟他一比。这里是用replace,所以值应该是保留谁呀,是保留11点的这个,来我们看这一条啊,查询结果10月3号的这条,哎。这条啊,好,你看是保留的11:22保留的他嘛,对不对,好再看下一个字段。
03:00
呃,新插入的是个闹,那原先也是个闹。对吧,那当然还是个闹了,其实这个我们要演示的是什么,如果是闹值就不更新对吧,所以我一开始就不应该给他闹啊,一开始不给闹,回头我把那个事例数据改一下,大家看一下效果啊。然后呢,或者一会我们再来看这个if not now吧,啊,先不管它,一会再重新插一条数据就知道了,再看下一个数据,呃,Cost。45原先是11,它俩是不是要相加啊,得到55,然后19跟原先的六比较,取最大,是不是19啊?好,19跟原先的六比较,取最小是不是六啊?对吧,啊发生了聚合对不对。好,这个就是主要是说明一下,我们前面讲到了这里啊,三个阶段当然了,因为我们是做查询,我们是不是查完立马查呀,我们也不知道它底层到底合并没有,但是我们查到的结果一定是什么聚合后的结果啊,聚合后的结果。
04:17
那我们再插一条数据,看一下这个这个闹值的变化吧。我再插一条这个吧。哎,这样,哎,对,用这条吧,Into。啊,我直接拷贝。Values。这条数据因为10005是只有一条嘛,那我这边改一下啊,这个时间改成幺。九然后这个改成闹。
05:05
好,我们看只看一个就行了,呃,前面的字段完全保持一致,我们直接就知道这个肯定是什么,同一个K对不对,那其他的值是不是应该要去。做聚合来,我们回车看一下啊。然后呢,我再查一下这张表来,注意啊,这是原先的字段啊,T列我就不框了啊,我们只框这里。那我插入的数据啊,我也只框后面的啊,那最终的结果变成了。这样子。来啊来啊,我们挨个比较,首先这个是replace。你看这是08:11,这边是19:11,那是不是更新成19:11啊,这没问题吧?好,再比较另一个字段,Replace if not not,那原先它的值是什么?是08:11。
06:04
然后新插入的数据是什么?是个闹,那我们说if not now,是不是如果闹值就不更新了,所以这边取的是什么?原先的值啊,原先的值。好,那么这个cost呢,是不是三加三对吧,然后最大最小。啊,就这么一回事,那如果replace遇上了now又会怎么办呢?很简单,我再插一次行吗?我把这个时间也改成那。啊,其他不变,我们就关注这两个字段就行了啊,这里呢,我给他一个时间,看他会不会更新啊,这个005,这个是这个时间。好说再查来,我们只看005啊,只关注这两个字段就行了。
07:07
呃,005是不是这两个字段了。哎。对吧。哎,我看一下哦啊对对对啊,就这样,呃,零五这两个字段,那我插入的是前面now后面有值,那我们对比一下啊。这个是这个字段是普通的replace,也就是他那么看一下005这里变成什么,虽然你新的数据,那我照样把它替换成了什么,那那这个就是可能在我们使用过程中会出现一些问题是吧。当然不是什么异常,也不是bug,就是他对闹值不做处理,那如果你需要对闹值做处理,说为闹我就不更新,那你就得用if not now这种更新方式,你看现在不为闹了,不为闹了它是不是就更新了,对吧?这里是相当于说我们补充说明一下啊,补充说明一下。
我来说两句