00:00
好,那现在啊,我们来看一下这个位置,看一下这个位置啊,就是说呃,这个新增新增这个需求,新增这个需求其实就没什么可讲的了啊,我们来看看这个表吧,看ADS层的表,每日新增设备,呃,字段呢,很简单,我们把它拿下来,CTRLC。放到这个键面语句当中,字段是很简单啊,这里边也就是说有一个我统计数据的这个日期,还有一个什么,还有一个这个新增的个数,对吧?那我们要统计的其实就是这个东西,咱们统计这个东西,那这个东西呢,怎么去统计呢?呃,还是按照咱们前面那个思路,先去看看DWT里边我能不能找到我想要的数据,对不对啊,那呃,DWT呢,这个这个表我呃刚才还得再搜一下啊,DWSDWT啊。UV。在这啊。CTRLCF3,那咱还还是看这张表啊,还是看这张表,那这里边呃,大家说我这个新增这个用户应该怎么去找到吧,就前面有同学那个我记得是谢波吧,一下就说出来了,应该根据谁去获取咱们每日的新增啊。
01:11
咱这儿是不是有一个这样的首次活跃时间啊。对不对,首次活跃时间指的是咱们这个设备它第一次活跃的这个时间,第一次活跃时间,如果说你第一次活跃的时间是今天。那是不是说明你是今天的新增用户啊。对吧,那这个是不是就一下就得到了我们想要的结果了呀,那确实就是这样啊,也就咱们其实有了这个表之后呢,咱们去统计这个新增用户,其实非常非常方便的,那假如说咱们换句话说,如果说我现在没有这张表。没有这个设备,主题画面没有它。那我现在问大家一下,你应该怎么去找到咱们这个,诶新增的用户。如果说没有他怎么去找到新增用户。这个可以琢磨琢磨啊,从这里边找你能找出来很很容易,因为什么,因为因为大家,因为咱们呢,已经把这个表帮你建出来了,你有这个表了,那如果是没有这张表呢,怎么去找新增用户琢磨琢磨。
02:10
如果没有这张表,怎么去找新增用户?怎么去找今天的新增用户?是不是只能从哪去获取了,因为没有DWP,那你是不是首先考虑DWS对不对,咱们DWS呢,有一个这样的表啊,就是诶是有一个分区表的,关于设备登录的有一个分区表,它记录了什么呀,记录了咱们每一天登录的这个设备信息,是不是每一天的都有啊。那你要想获取咱们这个新增的设备怎么办?今天新增的啊,要获取今天新增的怎么办?嗯,怎么办?那OK,今天新增你可以这么去做啊,可以这么去做,也就是说你得需要这么去做,把DWS层的所有的数据全部查出来。全部查出来,全部查出来,然后怎么办,然后按照设备ID midd进行进行干什么进行分组。
03:08
按照mid进行分组,分完组之后呢?每一组都求一个最小的DT。求一个最小值min dt。也就是你也就也就是说你找到了什么呀,你是不是就找到了每一个设备,它的首次登录时间啊,相当于因为最小日期就是就是就是首次登录日期嘛,相当于是,那OK,然后让他呢去等于咱们当天,那这样一来是不是也能找到咱们这个当日的新增设备啊,那你得这么去做了,得这么去做了啊,所以说你看啊,如果说有了这块表,我去获取新增日期的这个新增设备的时候,你看甭管是从咱们这个计算的这个逻辑,还是从这个计算的这个数据量来说,我从DWT直接出这个结果是不是要比从DWS出要好很多呀,哎,逻辑简单,而且数据量还会少很多。这是咱们这个宽表它的这个东西啊,那OK,呃,查询活跃次数唯一的呢。
04:07
诶还是不行啊,子阳同学提的这个问题,他呃他想的想的比呃想的呃能想到这也还行,但是呢,想的还是不够周全,还不周全,那这个子阳同学说他他是这么说的啊,那我从DWS里边我去找登录次数等于一的设备,那也就是说把所有数据查出来,然后按照m mid进行count,呃进进行分组对不对,然后诶是不是就count一下了,那相当于你把这个登录天数是不是就求出来了,那等于一,那就代表他是今天的新增吗?那不一定啊。对不对,等于一是不是有可能你是前边某一天你只登录一天,对不对,但但但你是一个今天的新增吗?你不是你不是对不对,那所以说你用这个等于一呢,呃,不是很恰当。你会把一些不是新增用户的用户也包含在你今天的新增用户里,是这样的啊,OK,大家要注意,要注意这个地方。
05:03
好,那现在呢,我们继续往下进行啊,咱们继续往下进行,嗯,谢波尔理解的这个子阳的话没有理解到位啊,好,那现在咱们继续往下进行来进行啊,呃,我们看一下这个第二天的新增,但既然咱们有这个DWT了,那现在咱们去往下做那就容易了啊,你俩干什么呀?左哼哼右哼哼。来,呃,我们现在把这个DWT这个数据呢,我们查一下啊,那刚才已经分析过了,那这边我们就用首次登录时间作为我这个分析的这个这个数据对不对,那这边咱怎么做呀,是不是还可以按照前面这种方式,你可以用这种方式,呃,用什么呀,这个from完事加加一个什么东西,加一个这个什么some if这个东西,哎可以,或者说这边呢,因为我们只有这样的一个值,只有一个值,我是不是就直接where过滤,然后count一下也是一样的呀,也是可以的啊,那OK,那那现在咱们这个select先不选什么,先from d w TUV,那后边这回我就where了啊,W。
06:02
呃,DTDT呢,等于2020杠,呃,不是DT啊,应该是谁啊,应该是那个首次登录时间啊,Log first。得等于今天2020杠零三,然后呢,杠幺零好,那我们就把呃,今天的新增设备给他拿出来了,拿来之后我们要求的是什么?我们要求的其实只是一个count值。对不对,那这边呢,我就可以写上一个日期。我计算的是十号的数据,那我就来一个十号,那后边呢,我再来一个Co Co count星,那我们就拿到了,呃,今天的这个新增设备了,新增设备数了,你看这个需求一共就这么几行就完事了啊呃,然后这边呢,我想跟大家说一下,就是有同学今天应该是也是子阳吧,呃,在那群里他问了个问题啊,诶,就是这块咱把它粘出来,跟我写的那个思路咱们对比一下啊CTRLZF3。咱对比一下,呃,有同学有疑问啊,其实子阳他写他是这么去写的,他说诶我是不是这么写就能拿到了,确实能拿到了,他说咱们文档上这边,呃,这个所谓的这个葛如拜还有没有必要,其实这个是这样的啊,首先我先明确一下,这么写是一点问题都没有的,这是对的。
07:15
那文档上他为什么这么写,为什么他这还要加个入拜?这块其实完完全是为了什么,完全是为了满足那个思和的语法,完全是为了满足词汇语法,大家可以看一下我这个两个思汇有有有什么区别,不考虑这个的话啊,有什么区别。是不是区别就在这个位置?我的日期我是写死的,是一个固定值,对不对?那他的日期是什么呢?它的日期是login date first,它是从哪,是不是从这张表里选出来的呀。对不对,那既然是这样的话,那这边它就不一样了,它就差多了,为什么呢?你想一想啊,咱们这select的时候啊,大家要注意,我们select的时候大家要注意,就是说我们必须得保证啊,你的每一个字段,就是你选的每一个字段,它都应该是一对一的,这个关系都应该是一对一的关系。
08:07
你才能一起select。把这个原则记住啊,只有是一对一的关系,才能是这个一起进行select,那这边假如说啊,我这要不进行格外,如果这不进行格外。那你要不进入个数Y,那这块会出现什么样的问题?大家可以想一想,那count形式,大家想这是一个聚合函数吧,它的值是不是只只会有一个对不对,因为你这也没有分组嘛,没有分组,没有分组,那count芯是不是就是对整体进行一个抗星啊。对吧,那login data first它可能会有几个值。它有几个值是不是就不太确定了呀?哎,当然有同学会认为啊,认为什么呀?哎,你这不是限定了吗?Login date first等于这个3月10号,那你你是不是就认为它只有一个值啊,对,他在这确实是一个值,大家想一想,我搜狗进行这个语法校验的时候,人家会去看你这个V过滤条件到底是什么吗?人家不会去看的。
09:00
对不对,你这你虽然你写的是等于,那你是有有没有可能写一个大于,有没有可以写一个不等于有可能吧,对不对,那也就是说你这个login date first呢,是有可能会有多个值的。对不对,那这样一个这个有多个值的字段和一个只有一个值的字段,你能一起select吗?它怎么放在一起啊,它是不是放不到一起啊。对不对,那所以这块呢,大家要注意啊,大家要注意,也就说这边诶,完全是为了这个语法,我们才加的这个格入BY是这样的啊,当然这么写其实不太好啊,不太好,因为我们根本就没有葛入BY的这个需求,那你还让他去葛入外是不是没用啊,就是大家还是最好这么去写这个circle啊,小细节,这都是小细节啊,好,大家注意到就行好了,现在呢,我们给它插入一下insert into。Table,呃,Dads ADS,我们这边呢,这个表名叫做new mid count,就是新增设备统计,新增设备统计好,那第二个需求呢,诶,咱们就完事了,呃,来把视频录一下啊。
我来说两句