00:00
好,那我们继续看下边的字段啊,来,咱们去看一下啊,下边几个字段呢,都是与退款相关的统计值对吧?这里面包括了退款次数,退款件数和退款金额啊,那这几个字呢,其实主要来自于哪个表啊,来自于退款事实表对吧?啊OK,那接下来我们去写这个circle啊来,我们回到下边。来,咱们开始啊,那首先select,呃,From应该哪个表,应该是DWD层的refund payment这张表对吧?退款实时表在这儿呢?哎,我们同样也只统计退款完成的这个记录啊,那所以说在这儿我们也需要做一个过滤,那怎么样能找到咱们所有的退款完成的记录呢?其实与支付时时表是一样的道理,对吧?那这个是不是也是一个累积型快照时表啊,对吧?那完成的记录是不是都在完成的那一天的分区当中,未完成的都在9999。那所以说我们把9999分区过滤掉就可以了,对吧,那在这呢,我们来一个V2啊二什么V2应该是DT不等于诶9999,然后杠九九杠99OK,那这样一来我们就能找到所有的退款完成的记录了,没错吧,好,那拿到之后我们接下来怎么做。
01:12
我们需要分组统计对吧?那这时候我们按照谁分组啊,是不是仍然是按照user ID再加一个时间对吧?这个时间应该是谁?是不是应该是退款完成的时间在这儿呢?其实也是谁呀,也是那个call backtime对吧?啊,那同样啊,那由于这张表它是一个累计型快照时表对吧?那它每天的分区当中存放的就是啥?是不是就是当天完成的这个诶,退款记录啊,对吧?那当然呢,咱们把这个9999分区排除在外了啊OK,那这样一来的话,那实际上我们这个地T就和完成时间是不是一致了呀,对吧?那所以说在这我们也可以用DT去代替这个call backtime,那咱这直接用DT就可以了啊好,那上边我们就可以选择咱所需的字段了啊,一个是日期,一个是UID,然后我们再继续往前行,下边应该该谁了呀?那下边是不是就可以去统计我们所需的几个结果了呀,对吧,第一个是次数,那次数呢,是不是就count的对吧?这退款次数,那下一个呢?下一是不是退款的件数啊对吧?件数是不是应该是sum求和对吧?那这里边我是应该正常应该拿到一个refund。
02:12
Number对吧,但是你要注意观察一下啊,咱这张表当中是不是没有refund number呀,也就是说咱们没有这个件数,没有件数,那咱们是不是这就没法求了呀。对不对,诶那这怎么办呢?那你能看到这是不是只有一个refund amount呀,对吧,Amount简单,咱直接把这个a mon refund amount给它拿过来就行了,这个能求出来,那现在咱是不是就差一个退款的件数啊,对吧?那这个退款件数咱应该怎么求?那我们一起来分析一下啊,那从退款市表当中拿不到件数,但是从我们刚刚用到的退单师表当中是不是能够获取到件数啊?没错吧,那所以说我们这儿可以怎么做,是不是咱可以先去获取退款记录对应的退单记录,然后呢,从退单记录当中获取我们所需的件数,那这样一来我们就能够去统计退款件数了,没错吧?啊,OK,那所以说现在我们需要从退单十表当中获取我们所需的件数,那就select from应该是DF里边呢,我们需要获一个F,是呀。
03:16
OK,那大家要注意了啊,那这个子查询是必须得与前面这个退款时表做关联呀,对吧?那当然呢,没有必要与这个全表去做关联啊,我们只需要除了9999分区以外的这个分区对吧?那当然这个字段呢,我们也不需要所有字段啊,在这儿呢,我们其实只用到了这张表当中的dt user ID,还有refund amount对吧?其余字段其实咱是不需要的啊,OK,那所以说现在我们把所需的这部分数据给它选择出来啊好,那现在我们select一下,然后呢,From应该是DWD层的,呃,Refund payment对吧?那DT应该是不等于9999杠九九杠九九啊完之后呢,选择咱所需的第一个是dt user ID,还有一个refund mount字段。
04:03
OK,那接下来我们是不是需要把这两个子查询给它撞到一起啊,对吧?诶然后大家注意一下啊,那这我们应该用哪个字段去关联呢。诶,好像这里边没有一个比较合适的关联字段,对吧?那接下来咱们就得分析一下了啊,那我们关联的时候呢,必须得保证那退单记录与退款记录他俩得是对应的才行,没错吧?啊,那到底应该选用谁作为咱的关联字段呢?我们来分析一下,那现在我们先去看一下这两两张表当中的字段啊,先看这个退款实表,好,我们把这个字段拿过来盯在这儿看一下啊来F3好,那接下来我们继续看下一个,下一个呢是退单实时表啊来,我们拿过来。F3好放在这儿,那接下来呢,我们对比一下啊,看看到底用哪个字段去做关联是比较合适的啊,那其实我们仔细分析一下,分析一下之后你就能知道啊,应该用谁,是不是应该用OID再加上SKUID去作为咱们的关联条件呀。
05:02
那你想一想啊,是不是只要保证诶是同一个订单,然后呢,同一个商品,诶那与之对应的退单和退款记录是不是就是相对应的呀。没错吧,OK,那所以说咱这呢就确定下来了啊,我们的关联条件应该是OID加SIDOK,那接下来我们把这两个关联字段也选择出来啊,那第一个呢,就是older ID,那还有一个呢,就是SKUID,下边这个也是一样的啊,一个是啊OID,那还有一个呢是SUID啊好了,那接下来呢,我们把这两个子查询关联起来啊来,首先来括号。这里边呢,给它放上我们的第一个紫查询,呃,这个呢是退款试表,哎,我们起别名叫做RP,那下一个呢,是退单试表,我们起别名为RI啊来呃,CTRLV,好,我们给它推进来,这个是RI好了,那这两个子查询呢,需要做一个关联啊在这儿呢,我们使用left draw啊好,那关联条件应该是啥呀?是不是应该是Rp.older ID等于ri.order ID啊对吧,ri.older ID,然后呢,并且也就是and对吧?And的Rp.SKUID等于r.SKUID啊,这个没有问题对吧?啊,那接下来我们就可以从里边选择咱们最终的结果了啊来,我们select,然后呢from,那注意啊,那在这儿呢,我们同样是不是要分组统计啊对吧?按谁分组?仍然是按照user ID加日期进行分组,那对吧?那现在我们首先搁入拜一下啊,User ID,那再来一个DT是不是就可以了,那完之后我们继续往下进行。
06:37
在这儿呢,我们需要选择对应的DT,哎,User ID,然后呢,是不是有一个退款的次数,退款次数仍然是抗星对吧?那再继续往下进行,那是不是还有一退款的件数,件数这次咱是不是就能够sum求和了呀,对吧,那一应该是refund number啊,OK,那我们再继续往下进行,再来一个sum,呃,Refund的这个amount。
07:00
OK,那现在我们就把与退款相关的几个字段求出来了,那好,那接下来我们继续往下进行,来我们看下边的字段是啥啊,来往上翻,那下边的字段呢,是与优惠券领用相关的统计值对吧?那分别是优惠券领取次数,优惠券使用次数,当然是指的是下单啊,那还有一个呢,优惠券使用支付次数。OK啊,那大家要注意啊,这几个次数实际上让我们统计的是啥?实际上呢,让我们统计的是每个人每一天的领取次数,对吧?啊,每个人每一天的使用下单次数,那还有一个就是每个人每一天的使用支付次数。啊,大家要注意啊,那我们既然要统计是每个人每一天的什么,那是不是肯定得按照用户加上日期分组啊,对吧?但是大家要注意啊,这三个字段我们分组的日期分别应该是什么,我们先看第一个啊,那你要统计每个人每一天的领取次数,那你说那个日期应该是啥?是不是应该是领取日期。
08:04
没错吧,那同理,你说这个呢,是不是应该是使用下单的日期啊,没错吧,那这个呢,是不是应该按照使用支付的日期进行分组。没错吧,那所以说大家能看到啊,实际上我们再去统计这三个值的时候呢,我们是按照不同的日期进行分组的,那所以说这三个字段呢,我们就没有办法放在一块求了,哎,咱只能分开去求了,那接下来我们分别求一下这三个字段啊,来CTRLCF3给它钉在这儿啊好,那现在我们开始写色。好,我们先看第一个字段啊,领取次数,也就是说每个人每一天的领取次数对吧?那所以说我们应该从哪张本里取数啊,是不是应该是从DWD层的优惠券领用时表里取数对吧?应该是库房柚子对吧?啊,那在这儿呢?我们需要拿到什么?需要拿到所有的领取记录,没错吧?那怎么样能拿到所有的领取记录呢?其实很简单,是不是一过滤条件就行了呀?应该where啥,Where get time is not not。
09:01
对吧?那这样一类是不是能拿到所有的领取记录,那当然这张表当中所有的记录它的get time肯定都不为呢啊,OK,那咱们加上它也不错啊,对吧?好,那接下来我们继续往下进行,接下来我们要干啥?是不是要分组统计对吧?我们需要group by加group by,谁大家说首先是grow by user ID,再加上领取时间啊,也就是一个get time对吧?那当然呢,我们需要对其进行格式化啊,应该是date format,把这个get time给它放进来,那后边呢,格式化成YYYY,然后杠MM,然后杠DD的格式。OK,那完事之后呢,我们需要把这个日期CTRLC,诶选择出来,来放在这儿,那我们把这个往前推一下啊,那后边我们来一个DT别名啊,再继续往下进行选择user ID,再然后呢,诶,我们直接看星就可以了啊,那现在我们就统计出来了,诶每一天每个用户他的领券次数了啊,那OK,紧接着我们去统计一下啊,那每个人每一天用券下单的次数,那这个应该怎么去取啊?那其实跟第一个应该差不太多对吧,我们把它拿过来给它改一改,其实就可以了啊,那在这边我们首先需要拿到所有的使用记录,对不对?那所以说应该是什么?应该是using time is not对吧?OK,那下边呢,我们就需要按照using time进行分组,那选择呢,咱们选择的也是using time。
10:15
没问题对吧?哦,OK,那接下来我们继续往进行啊,最后一个呃,使用支付次数,那同理,那咱们是不是也是以它为基础改一改就行了呀,对吧?那在这边呢,我们拿到的应该是啥?应该是右子的time不为now的数据,对吧?OK ctrl c拿过来,拿来之后呢,把它放在这儿,那我们再继续把这个拿在这儿啊,OK,那行,那到现在为止,我们这三个字段就算是求出来了,好,那为了方便后续的使用啊,在这儿我们把这三个子查询给它先关联起来啊,那大家先思考一个问题啊,你说咱们做draw的时候,我们的关联条件应该是谁?马上关联条件应该是俩字段对吧?应该是啥?应该是DT加上user ID没错吧,我们需要把同一个人同一天的行为给它关联到一行里边啊。没错吧,啊,那OK,那继续思考,那我们关联的时候应该用哪种招唤方式呢?那显然在这呢,我们需要使用哎,全外联。
11:07
对吧,为什么要用权外联啊,因为有没有可能有这样的情况,就是一个人在某一天诶,他领券了,但是这个人呢,在这一天他没有用券,那如果你不用权外联的话,是不是可能会出现数据丢失的这种情况啊,对吧?啊所以说在这儿我们需要使用全外联啊,OK,那接下来我们把这三个子查群关联到一起,那既然要关联了,那所以现在我们给每个子查询都起一个别名啊来,我们CTRLX来括号,来把它放在括号当中,那这个我们起名为呃,Coupon get对吧,COP啊然后呢,这个get,那接下来继续往下走啊,那CTRLX,呃,那这个呢,我们起名为coon using。来cou use,好,那继续往下走,那这个呢,我们起名为的CTRLV。来,我往前对一下。
12:00
CU po啊,然后use的好了,那完了之后呢,我们需要把这三个子查询做一个全外连对吧?那接下来咱们就开始做这个全外联啊来f u I tr,哎,John好,那它与它进行全外连对吧?那它与它进行全外连的时候,那咱是不是得写一个连接条件对吧?应该是啥呀,应该是Co旁cou哎,Po然后呢,Get点啊应该是DT啊,咱是DT嘛,不是DT对吧,咱是啥?诶就叫DT,那咱拿DT啊啊DT应该等于咱们这个旁哎,U井us s n,然后后边来一个点DT对吧,然后要注意一下啊,后边说是还得有一个and呀对吧,啊and and啥and Co旁哎这个get.user ID得等于诶Co旁user,然后下划线,呃,然后点啊是不是user ID呀,对吧?OK,那它俩就算关联上了,那接下来我们再与第三张表进行全外联啊,OK,那是不是同样是负al?
13:00
好,那接下来我们继续来进行,那下边它的连接条件应该是啥呀。这个连接条件大家一定要注意一下啊,如果有多张表进行全外联,那它的关联关联条件实际上是有一个注意事项的啊,我们先来看一下啊,那第三张表的关联条件能不能像第二张的表的这个关联条件那样去写来,那当然这里边得改一下,需要把这个using改成used对吧?那OK,那把这个CTRLC拿过来把它也改了啊,那咱能不能这样去写?啊,其实显然是不行的,为什么不行?大家来跟我一起分析一下啊,来我们看一下,那假如说现在这就是我们刚刚的三个子查询,那我们在这儿简化一点,分别是A啊,然后呢是AB,还有这个C啊,假如说这三张表的数据的对应关系就是现在这种情况啊,大家来看一下啊,那首先A与B是不是需要先进行一个全外连,那它俩全外连之后是不是会形成一个这样的区表啊,对吧?那了之后这个位置是不是会自动补上闹值,那这儿呢,也是闹值对吧?完事是不是再由这个虚表与第三个表进行关联啊,对吧?那OK,大家来注意一下啊,这一部分数据。
14:07
是不是本来是应该能够关联上的呀,对吧?啊,但是由于我们与第三张表关联的时候,我们用的关联条件什么是a.ID等于c.ID那结果是不是就导致这一部分数据它没有关联上啊,对吧?因为这是闹啊,对吧。啊,它是不是就关联不上了啊,那所以说这么去写这个关联条件的话呢,是肯定会出问题的啊,那所以说在这我们应该怎么去写这个关联条件呀。咱是不是应该从A和B这两个子查询当中去选一个不为闹的ID与第三张表进行关联呀?没错吧,那怎么去选一个不为闹的呀?是不是用NVL就可以了?没错吧,那所以在这儿呢,我们具体应该怎么写,在这儿呢?是不是应该这么去写来,首先我们需要CTRLX,在这儿呢,我们需要来一个NVL,然后呢,把coupon get的DT放进去,再把谁放进去,再把coupon using的DT放进去,没错吧?那同样道理,下边是不是也是一样的呀,对吧?只不过下边呢,我们要放的是user ID OK,那CTRLC咱们拿下来给它改一下啊来,放在这CTRLV这里边的DT我们需要改成user下限ID,那这个呢,也是user ID。
15:15
User消息IDOK,那这样一来呢,我们才算是完成了这三张表的全外联啊,OK,那完成之后呢,我们再从上边选择我们所需的这个字段啊,S select,然后呢,From啊,OK,那我们需要选择哪些这个值呢?那首先我们需要先选择一个是不是DT啊,对吧?那关键是咱们选DT的时候应该怎么选。注意啊,我们现在是不是从三个子查询当中去选DT,那我们是不是得选一个不为no的出来啊,对吧?那三个里边选一个不为闹的,我们应该用谁?是不是应该用那个Co对吧?OK,那现在我们使用诶Co这个函数,那分别去选择我们所学的字段啊好,那第一个是coupon get里边的DT,那还有谁,还有这个coup旁里边的DT,没错吧,还有一个旁used里边的,诶这个DT。
16:04
好,那这是我们的第一个字段DT咱们就拿到了,那接下来我们去拿user ID,那user ID是不是也是同样的道理啊,对吧,在这儿我们也需要使用诶Co这个函数啊,那首先是get.user ID,那第二一个是点us in,然后点user ID,那最后是右点这个user ID。然后点诶,User ID OK,那user ID我们也算是选完了,OK,那再继续往下进行选择我们所需的什么呀?诶这几个count的值对吧?那在这呢,我们需要给它起一个别名,那这个呢,我们叫get count,那下边这个呢,叫做using count。那再往下走,那这个呢,我们起名为use count。啊,那现在就可以去选择了,那当然选择它们的时候呢,我们也需要处理一下啊,大家想一想,因为我们这三个表的对应关系可能是这种对吧?那像这种地方是不是都是闹值啊对吧?那我们不期望咱们拿到now值啊,我们希望拿的啥呀?如果是呢,我期望它是零对吧?那所以在这儿呢,我们使用一个NVL是不是就可以了,那第一个呢,就是呃,Get count完之后呢,诶否则的话就是就是如果为闹,那就是零对吧?那第二一个呢,是NVL应该是呃,Using count us in c,那否则的话呢,我们就是零,那继续往下进行,那再有一个NVL,那柚子的应该是柚子的count对吧?那如果为闹的话,那后边就是零啊OK,那这样一来我们就算是拿到了我们,诶,每个人每一天的领券次数,用券下单次数,还有用券支付次数,好,那我们继续看下边的字段啊,来下边跟谁来看一下,那下边呢,我们还剩下几个与评价相关的统计值,对吧?这里边我们统计每个人每一天的好评数,中评差评数和。
17:51
和默认评价数,好,那接下来我们看一下这个应该怎么求啊,来给它定在这儿,好,那现在回到我们刚才的位置,好,那我们接下来开始写circle了啊,那首先咱们先明确一点啊,这几个值我们应该从哪张表里取数?
18:05
英存这边是不是应该是从DWD层的评价师表取数啊,对吧?那咱们大体的思路应该是什么样的呢?那其实很简单啊,那是不是先呃过滤出来所有好评的记录对吧?拿到之后呢,按照用户加时间分组,然后进行count,那是就完事了,那接下来呢,我们再找到所有的中评记录,那同样呢,我们再按照用户加时间性分组,然后再进行看看是不是也完事了呀,对吧?那关键是我们如何去找到好评记录和中评记录,对吧?那也就是我们应该如何过滤对不对?那怎么过滤吧?来,我们去看一下这张表的字段啊,这张表当中呢,有一个ara字段对吧?啊,有一个ara段啊,那这A段是不是就是用户给出的评价呀,对吧?然后大家一定要注意一下啊,这个A段当中保存的是什么?值是好评、中评、差评,默认评价这几个汉字吗?是吗?不是,我们去看一下到底是啊,我们找到这个评价是表打开。
19:00
来我们看一下它的P字段啊,来大家一起看一下。再看这啊。你看这里边存的是啥呀,是不是都是编码值啊,对吧?12011202103,那这些编码值它所在指来的到底是什么呢?诶这个从哪可以去看到啊,这个我们是不是从码表里边能看到啊,对吧?咱们去找到那个码表啊,找到贝斯dic其实就是个字典表啊,那之后呢,我们找到与这个评价相关的几张表啊来,咱们往檄找到评价,诶在这儿。再来看一下。你看这几个是不是都是与评价相关的字段呀,对吧?那OK分别是啥?1201代表的是好评,1202代表的是中屏,1203代表的是差评,1204代表的是自动或者叫做默认评价,OK,那现在我们是不是就已经能够诶明确了呀,我们应该根据哪个字段去过滤好评、中评和差评的记录啊,是不是就根据AP这个字段去过滤啊,啊,OK,那接下来呢,我们去把这个circle一起写一下啊,那当然呢,按照我们刚才的分析,我们这儿应该怎么去求,是不是这几个值我们分开去求啊,对吧,咱分开去求,那实际上呢,在这儿咱们没必要分开求,你要分开求是不是又有重复计算了呀,对吧?在这我们可以直接怎么做,是不是直接使用sum if就可以了,没错吧,那接下来我们直接sum if啊来我们格by girl by谁是不是一个是user ID,那还有一个呢,是不是应该是评价的时间呀,对吧?那由于这张表呢,它是一个事物型事实表啊,那所以说它的分区字段DT的值和评价时间是不是也是一致的呀,对吧?所以说我们这儿呢,直接按照DT分组就可以了,那上面呢,我们选。
20:31
选择DT,哎,再选择一个user ID,那接下来我们是不是就可以使用some if去分别统计这几个哎,评价的个数量对吧?OK,我们现在好评说那应该怎么写,是不是应该是呃,P这个字段,如果它等于1201,哎,那OK,我就记个一,那否则我就记个零,那咱得到的是不是就是好评数啊,对吧?那同样,那我们再往下走,那如果等于1202,那我就记一,否则就记零,那这个得到的就是中评数对吧?那同理,这个呢,就是差评数,那这个呢,就是默认评价数。
21:01
OK,那现在我们就把这几个与评价相关的统计值算完了,好,那接下来我们看最后一个字段啊,来往上翻,嗯,好,最后一个字段呢,是older detail单明细统计对吧?那这个字段的类型呢,是一个结构体数组,大家还能想起来为什么这个字段的类型是结构体数组吗?来咱们回顾一下啊,那首先我们需要先明确啊,这个字段让我们统计的是什么内容嘛。啊,实际上我们统计的是每一个用户在每一天里边购买的每个SKU的情况,对吧?那包括什么,包括每个SKU购买的件数,那购买的次数,以及购买的金额对不对,诶等等等等,那在这为什么非得用一个结构体数组去保存这些内容呢?那其实很简单,你想一想啊,那刚才提到了啊,我们每个SKU是不是都有多个统计值啊,对吧?件数、次数、金额等等等等,所以每个SKU的这些统计值呢?诶,我们使用一个结构体去保存啊,那同时一个人在一天当中可能购买多个SKU对吧?那所以说我们需要用一个数组去保存这些SKU的信息啊,所以在这儿呢,咱们需要用到一个结构体数组啊好,那现在我们再来看一下啊,这个结构体的具体字段是什么?那也就是我们实际要统计的是哪些值对吧?咱们来看一下啊,那结构体当中,那第一个字段SD这个比较简单,OK,下一个S这个指的是啥呀?是不是购买这个SKU的件数啊,对吧?Order购买这个SKU的次数,然后再往后啊,Activity t reduce amount对吧?这是啥?是不是活动优惠金额,那最后后边一个啊,Coup amount,这是啥呀?是优惠券优惠金额,那再往后这还有一个amount原价金额啊,最后一个final amount。
22:47
啊,那这个呢,就是最终金额啊好,那这些就是我们真正需要去统计的这些值,好,大家需求应该已经明确了啊,那接下来我们就准备开始写circle了啊,那其实我们在之前已经处理过结构体数组了,对吧?啊,那之前我们是怎么处理的呀?大致的思路呢,就是先去计算结构体当中的每个字段的值啊,那都算完之后呢,再把这些值封装到一个结构体当中啊,那之后呢,再使用塞这个函数将多个结构体聚合到一个数组当中啊那这样一来是不是就能得到咱们最终的结果了呀?
23:22
啊,OK,那同样咱这儿也是这样的一个思路啊,那所以咱现在的首要任务是不是就是计算结构体当中的这些字段呀,对吧?OK,那现在咱把这些字段拿一下,然后呢,我们去统计一下这些值啊,CTRLC f3我盯在这个屏幕上啊OK,那接下来我们就开始去写这个circle了啊来,我们来最底下啊好,那接下来咱们开始写啊,那首先我们需要先明确啊,那咱们的主要的数据来源是哪张表啊,是不是肯定是DW do detail订单明细表啊,咱那个字段是不是就叫做订单明细统计,没错吧?啊,OK,那现在我们已经拿到了所有的订单明细记录,那接下来咱应该怎么做呀?接下来我是不是得先算这些值,那实际上这些值是什么呀?是每一天每一个用户购买每一个SKU的次数,件数、金额对吧?啊,那所以说我们这是不是得分组啊,对吧?那首先我们诶group啊,Group谁这里边首先需要有一个user ID,那是不是还得有一个日期啊对吧?这个日期实际上应该是下单日期对吧?啊,那由于这张表它是一个事物形式表啊,那所以分区字段呢,是可以代替咱这个cur time的对吧?那所在这了,我们直接用DT就可以了,那接下来还得有谁是不是还得有一个skuidd啊对吧?OK,那我们现在先把这几个字段选上来啊,那首先第一个U,呃,先写DT吧,那DT,那user ID,那接下来的是SQID,好,那接下来我们就可以去计算,哎,这些值了啊,那首先第一个啊,SKU number啊,那这个应该怎么求,这个是不是直接sum求和就可以啊,来SKU number好接来下一个啊,下一个是啥是order count对吧?那这个咱们怎么求啊。
24:57
啊,这个是不是咱直接count一下就可以来我们count星啊,就OK了,好,那接下来下一个,那再往下呢,是activity reduce amount,对吧?这个怎么求,这其实直接sum求和就行了,我们这里边呢,是有一个split activity amount的,对吧?好,那完了之后下一个,那再往下是不是coupon reduce amount呀,对吧,这个同样是sum split,这个CU邦amount就可以了。好,下一个,那下一个呢是original amount,那咱也是SOME9和,那应该是original amount,好,那最后一个字段呢,是final amount,对吧?大家来看一下。
25:30
大,再看是不是final amount呀,对吧?那同样这也是直接sum求和就可以了,那我们找到spli final amount,哎,就是它,那好了,那到目前为止我们就把所有的字段都求出来了啊,那接下来我们为每个字段都起一个别名,在这儿呢,我们就以这个结构体的字段名为准就可以了啊,首先是这个啊,那它应该是啥?是不是就是SKU number啊,OK,下一个下一个啥是order count对吧?那好,那我们再继续往下走,下一个字段是啥呀,Activity reduce amount对吧?啊,来AC啊,啊,Reduce啊,Am啊好,那就来看下一个,下一个是啥呀?下一个是coupon reduce amount了,对吧啊,啊,Amount。
26:12
好,下一个,下一个呢,是不是就叫做a originalal amount跟它一样,对吧?那CTRLC再拿过来就可以了,那好,那我们再看最后一个,最后一个呢,是不是就叫做final amount呀,对吧?OK,那咱们把final amount也拿过来啊,好了,那到歉目前为止,我们所有字段的别名就写好了啊,OK,那接下来我们介入到下一步啊,下一步咱是不是需要使用name的startt函数将这些字段封装到一个结构体里边啊,对吧?那接下来咱们开始,那首先我们需要先把它放到一个括号当中,然后起一个别名。来CTR来,我们往前推一下啊,那这个我们就命名为T1啊就行了啊来咱select,然后呢,From啊好,那现在我们先把呃DT和user ID选出来,User ID好,那接下来我们继续啊,那下边是不是就是name的ru了,对吧?那这个函数大家还知道怎么用吗?其实很简单,我们是不是只要依次往里边传入字段名和字段值就可以了呀,对吧?好,那现在我们看第一个,第一个应该是谁,第一个其实是SQID对吧?那来来咱拿一下SQID。
27:11
首先啊,先写字段名是不是再写字段值啊对吧,那接下来下一个,那下一个是谁,下一个是SKU number来往里放。好,下一个,下一个是order count,来再拿过来。好,下一个。那再往下呢,是activity reduce amount。来往里放,嗯。CTRL,然后边呢来继续,嗯。好,那我们继续往下走,那再往下呢,该这个coupon reduce amount了,对吧?来接着往后往后写就可以了啊,来,CTRLV,那下来我们把这个字段值再放进来啊好,那继续还有两个,一个是original amount,一个是final,对吧?啊,我们往里放,这儿呢是CV,那后边呢,再来一个,诶,Control v,好,那最后一个呢,是final amount,对吧,咱们去拿一下。
28:02
CTRLC,好,我们拿过来。来这儿写个逗号啊,来把它放进去啊,Final amount,最后一个呢,也是final amount啊,OK,那现在咱这个结构体就已经写完了,那接下来我们需要再对其进行分组,对吧?那这次呢,我们需要对谁进行分组,是不是需要对DT加上user ID分组啊,对吧?啊,那完事之后呢,我需要把上边的这个结构体是不是放到set函数当中进行聚合呀,对吧?来,咱来TRLX这个呢,Co set,那其实list也是可以的啊,和list有啥区别啊,其实S会去重list不会去重对吧?好,那现在我们CTRLV把这个结构体放进来,好,那现在我们实际上就已经得到了最终的结果了,好,那接下来我们把这个circle呢给他执行一下,看一下最终的结果走。好,大家来看一下啊,那现在我们实际上就已经得到了咱们所期望的那个结构体数组了啊好了,那这就是我们最后一个字段啊。
我来说两句