00:00
那么在看实物分摊之前呢,那么咱们呢,首先你得把这关系我弄明白,到目前为止呢,我应该是第三次来给大家说这个关系,对吧,就是我这我这个阶段第三次,我不知道你们离线说了多少次,对吧,应该也不会,次数也不会太少,对吧?什么关系呢?就是在我当前呢,这个订单表里边,对吧,是不是有这么几个我的金额呀,对吧,一个什么呢?一个是我们现在它的一个总金额,对吧?这个总金额是不是你实际花的钱呀,就这订单你实际花多少钱对吧?那么除了总金额之外呢,还有对吧,咱们这个原价金额,优惠金额以及呢,运费对他们这些关系什么样的呢?那应该是我们现在对吧,这个总金额等于我们现在原价金额,然后呢,去减去我们这个优惠金额,再加上什么呀,是加上咱们的运费呀,对吧,所以说这个关系呢,首先大家得弄明白对吧,在这里我呢去对。
01:00
这个前提啊,前提啊,明白的关系。首先第一个呢,咱们需要明确的关系啊,明确的一个关系对哪个关系呢?就是我们现在它的一个总金额啊,总金额等于什么呢?等于我们这个原价金额,然后减去我们这个优惠金额,然后再加上什么呢?再加上我们这个运费是吧?再加上咱们这个运费对吧?这是第一个,然后第二个呢,不光要明确这个关系,还得明确啊这几个单词啊,你写代码的时候,你得看我这个单词表什么含义对吧?那总金额呢,这个对吧,叫final total amount啊final total amount。
02:06
然后咱现在呢,这个原价机油是它啊,就等于原价机油拿过来啊。Original,然后接下来呢,咱们现在把这个东西拿过来放在这里对吧,原价金额对吧,然后减去我们的优惠金额对吧,这个优惠金额呢,拿过来。然后再加上咱们这个运费对吧,把这个运费呢也拿过来对吧?这第一个啊,咱们现在呢,要懂得这几个关系对吧?懂这个关系对吧?然后接下来那么咱们现在呢,除了这个关系之外呢,到除了这个关系之外还有一个对还有一个就咱们订单和订单明细里边其实也有一个关系什么呢?大家看咱们现在在我订单表里边,这里是不是有一个原价金额呀,对吧?那么这个原价金额和订单明细里边它的一些这这这个数据有没有什么关系呢?就咱们这个东西原价金额对吧?它啊和咱们现在的这个订单明细里边,对吧,它的一些我们这个数据有没有什么关系呢?那你来呗,你看一看这个东西呢,是原价金额,然后现在打开呢,订单明细表对吧?打开订单明细表之后呢,你发现这里边每一条明细中是不是都有一个咱们商品,它的一个价钱,是不是都有一个商品的数量,对吧?那么当前呢,咱们现在的订单呢,比如说3750,这里边是不是一共。
03:41
包含两个商品对吧?那你说我现在这个订单它的一个原价金额等于什么?是不是等于第一个商品它的一个单价乘以数量,加上第二个商品它的一个单价乘以数量,这个是不是有一个这样的关系,同学们对吧?咱们现在啊,这个订单中,它的一个原价金额等于订单明细中它每一个商品的单价乘以数量,它的一个盒吧,对,它一盒对吧,那咱现在呢,在这里对吧?它等于什么呢?它等于我们这个订单明细中啊。
04:18
这个是订单中的,对这个原价金额等于订单明细中的谁呢?咱们这个商品价钱啊,商品价钱对吧。然后呢,再乘以一个咱们这商品数量啊,那么商品价钱呢,他用的是什么?用的是是吧,我们这个order price和SQ number是order price和SQ。这个呢是我们这个SKU对吧,Number它俩相乘对吧,而且抽完之后呢,这个东西应该是不是得加呀,对吧。对他们直对吧,他们一个好,那接下来那咱们现在呢,在这里把这关系到明白之后呢,那么接下来咱们的对吧,实际对吧,这个数据分析啊,实际数据分析对吧,那么实际数据分析之前呢,来看需求啊,咱们现在要做的是什么对吧?这个需求呢,看懂之后咱们呢,就来实际数据分析一下,对吧,比如说同学们,我现在想去统计对吧,他的一个订单明细实付金额的分摊,那么大概需要什么样的,注意看啊这里这说其实咱们都已经很明确了,对吧,说我主订单的应付金额对吧,就是实际花多少钱,他一般呢,是由所有订单明细的对吧,商品单价这一个数量,对这个呢,对吧,这个组成其实就是说说的是这个呗,同学们。
05:44
是不是咱现在在这里对吧,这个原始金额的原始金额是不是等于订单这个这个明细中它的一个这个单价是数量都说的是这个,然后接下,但是呢,优惠呀,运费呀,都是以订单为单位的,对吧?所以说呢,那么咱们最终呢,对吧,它产生了一个最终实付的钱,对,那么实付钱呢,那么咱们如果说啊,那你在统计的时候,你要以商品进行统计的话,那么这个时候你就需要把运费或者说我们这个优惠给分摊到每一个商品里面去。
06:15
对吧,什么意思啊,同学们对吧,比如说我现在呢,在咱们这里总价呀,买了1000块钱的一个商品,对吧,那么1000块钱商品,这1000指的什么的,是我当前是订单呀的,一共花了1000块钱对吧?那么这1000块钱呢,由谁呢?由我们现在600块钱的A和400块钱的B2种商品组成。啊,就说我现在啊,买了一个就下了一个单,对吧,下了单然后呢,这订单里面有两个这个订单明细,一个是A,一个呢是B,对吧,这个A多少钱呢?这个A是600,然后这B呢是400,买几件呢?就买一件啊就买一件对吧,然后接下来那么咱们现在呢,在咱们这里边对吧,我呀,总价他俩是不是应该有这个花1000呀,对吧,但是呢,有优惠对经过打折之后,对吧,我现在1000变成多少了,1000呢,变成了八百一了,对吧,就优惠了咱们的190块钱,对190块钱,那你想一想,咱们现在的190块优惠是针对谁的,是不是针对你的订单的呀,是不是针对你当前的订单,我现在优惠了190块钱呀,对吧,而且呢,咱们现在这优惠190块钱,之后呢,还免免运费。
07:26
对吧,那你说我现在如果说啊,这个优化190,我实际我就花了800亿多钱呗,那你说我现在这个A它的价值还是600吗?这个B的话现在还是400吗?说不是的呀,对吧,那你说我现在这个A分摊完之后还剩多少钱啊,B分摊完事之后还剩多少钱了,怎么算怎么算。啊,咱们现在是不是有比例在里边,对吧,我一共1000块钱,然后我现在这两这两个一共值1000块钱,对吧,那么我现在A占多少,占咱们这个6/10。对吧,然后B占多少是不是占咱们之4/10呀,对吧,那我现在一共花多少钱呢?一共花了810块钱,那我现在A它其实分担多少,是不是应该用八百一乘以它的一个比例,比例多少是不是咱们这个6/10是是是不是这个60%呗,对吧,然后咱们的B化多少钱,是不是用八百一你实付的钱再乘以一个咱们这个4/10,是不是应该这个对吧,得到一个结果对吧,得到一个结果对吧,这能理解吗?同学们对吧,就我原来我我本身我就花1000块钱对吧,这个呢,A是600 B是400,但后来我花800多块钱,你把这都买到了,那你说A还那么多钱吗?那不是了,那么这块呢,就是分摊后的金额,我们要算呢,就是分摊后的金额是多少,我们现在啊,就要算这个东西对吧,那么这块呢,我说是我们这个项目里边的稍微复杂一点地方啊,可以说到就从我们的双流状到咱们这个订单明细,它是不进行分担,是我们这个阶段到比较内容东西就比较重要的东西,对吧,所以说大家。
09:00
嗯,都打起精神来,都到目前为止这块能不能明白。明白点个一可以是吧,那就继续对吧?那么如果再往下走的话,同学们有麻烦的情况,这种情况啊还比较爽对吧,为什么呢?因为我一乘诶哎,发现这个一也比例一来对吧,它俩照一算是不是可以算出来啊对吧,但是对吧,这个东西你想一想,我要乘以比例,这里是不是有除法运算呀,有除不开的情况,有除开的情况,比如说同学们对吧,咱们来看对吧,假如说原价90块钱,然后呢,三种商品每件30元,然后呢,没有优惠,带有十块钱运费,什么意思?同学们,我现在下了一个订单,然后呢,这个订单呢,分别有ABC的三个咱们这个商品对吧?然后咱们现在买了几件呢?对吧?A30块钱买了一件,B30块钱买了一件,对,然后C的30块钱也买了一件,也买了一件,那你想我问大家,我的一个原价金额应该是多少。
10:05
我现在啊,这个订单的原价金额是多少?90啊,是不是他们三个他的单价和数量单价乘数量单值数量再一个累加,是不是得到一个90,这是我咱们当前订单原价金额吧,但是呢,这个呀,有十块钱运费。对吧,有十块钱运费这个东西,那你想想十块钱运费是针对谁,是不是针对你的订单的呀,对吧?那么咱们现在如果有十块钱运费的话,咱们现在总金额你实付金额就变成100了呀,对吧?我一共三个商品对吧?然后接下来那我现在呢,这个总金额我花了100块钱,那每个商品它实际分摊之后,它的金额是多少?刚才咱们这里说的是30,三十三十啊,现在加上运费之后还是30吗?不是了吧,那怎么算,大家想一想,这个东西咱们是不是可以算出比例,每一个商品占咱们这个这个这个这个原价金额多少1/3呗,那你是不是用100乘以1/3都去算呀,那你发现A商品多少,33块三毛三,B商品33块三毛三,C商品呢?
11:07
啊,如果也是三十三三块三的话,这不行啊,有问题了,丢钱了给平台了,是不是平台抽成对不对啊,这有问题了,对吧,平台呢,可能会抽成,但他不会明目张胆的。这种吧。不要了,最后一个咱不应该做除法运算了,对吧,这个最后一个是不是应该做减法运算,什么意思,就是我现在呢,这里边一共花了100块钱,如果说他是最后一个的话,那我这个计算方式,我不应该是用咱们100乘以1/3了,而是什么?而是应该用100减去33.3,再减33.3。是不是应该这样对吧?哎,所以说呢,咱们现在啊,这里边对吧,这有解决思路了什么呢?说我现在想做实付金额分摊的话,那么这个时候呢,有两种算法来计算咱们的金额,那么第一种算法什么呢?第一种算法对吧,咱们呢,如果说它不是最后一笔,不是最后一笔,咱们是不是使用我们这个乘除这个计算公式就可以了,对吧?那有这么一个比重对吧?有这么一个我的等式什么呢?实付分摊金额,就咱们现在啊,实付分摊的金融是以这个比较实物金融,它和咱们现在的这个明细,它的一个金融和原始总金融,它的比例应该是相等的。
12:28
对吧,其实这么看,如果不理解的话,你可以这么看更简单一点。咱们实部分就等于等于什么,你实际花多少钱,然后是不是乘以咱们当前这个商品占咱们这个总价的一个占比了,对吧?那么这个占品怎么来的收益数量跟单价,再除以一个原始总金额对吧?乘以这个比重啊,得到一个这样的一个实物分摊金额,对吧?收负担金额对吧?这是第一个算法啊,就是说什么呢?如果咱们当前呃,这个啊明细它不是最后一笔的话啊,这么来算,那么第二个如果这个明细呢,是最后一笔,如果最后一笔的话,那这个时候咱们不能这个使用乘除法计算公式了,是减法呀,对吧,那么减法怎么算呢?那这个都应该这样,最后的实物分摊金额等于实物分摊的实付总金额减去其他明细已经计算好的实物分摊金额的一个核计。
13:19
啊,就是我现在啊已经呃,其他明细都已经把这分担金额做好了,对吧,那当我这分担多少钱呢?你用总计花的钱把人家别人分担的钱减掉,剩下的是不是就是你应该分担的钱了呀,对吧?诶这个呢,是我们现在啊他的一个计算方式对吧?然后接下来那么怎么判断咱们是不是最后一个呢。这个是关键点,同学们怎么样判断的是不是最后一笔,我怎么知道这哥们现在是不是最后一名?想想就这块儿呢,稍微要绕一下,有什么办法可以判断我当前这个明细的最后一笔。
14:07
看他有几个详细是什么意思,因为每一个咱们现在的订单的明细是不一样的呀,我不确定啊,对吧,比如说我今天我下单可能两个详细,明天下单是三个详细,每个人下单详细也不一样。啊,我知道了这个宝瑞的意思什么呢?宝瑞意思呀,就是我现在再去做的时候,我根据咱们订单ID到订单详细表里边,然后呢,去查询它的一个计数数看些,然后接下来,然后咱们每次去做一次的话,我可以做一个计数器,对我做一次呢,然后呢,我去这个技数器加一下,做一次的技术器加一下,然后后来看一看,哎,是不是最后一个,哎可以我觉得。但是这个东西咱们要去我们这个订单的这个明细里边去把这个东西给查出来,去订单明细查出来,怎么查呢。
15:02
咱们现在可没有说是两张表了,现在是一个大宽表。杀对微积分我听别吓唬我,说是吓我一跳。订单ID分组IDID然后分组啊然后呢。把咱们现在把这个数据都拿过来了是吧,然后呢,咱订单这个进行分组,然后分组呢排排序,然后呢。开窗,然后开窗,然后呢,我看你在干啥。
16:01
一个就是关键咱们现在这个东西,我看看看一看,怎么咱们现在这个就能不能除尽是吧,如果除不尽呢,对得加到咱第一个地方去啊。这个怎么加,谁谁去加这个事儿。在想。怎么判断最后一笔?其实这个方式不一样,这个方式不一。想一想有没有什么思路对吧,大家想一想啊,咱们现在呢,我在这里我给大家强调了一点,是不是在你们张家,你们在在职分担之前,你们明确这个关系啊,其中有一个这个关系啊什么呢,说订单里边有一个他。
17:00
然后订单明细里边呢,对吧,是不是有一个商品的一个价钱这个数量,对吧?那大家想一想,我可不可以这样,每次呢,我在处理掉记录的时候,我把这个东西啊做一个累加,我把这个东西呢,给它保存起来,累加一下,然后呢,我现在在咱们这个处理当前记录之前,我干什么呢?我用这个东西去减一下咱们累加的一个结果,那么累加结果我减完之后我干什么呢?我判断一下是不是等于你当前这条记录它的一个商品单价乘以一个数量,如果等于的话,那说明你是最后一条,可以理解吗?同学们对吧?哎,那所以说这块呢,我觉得目前你们说那种方式呢,也可能会实现,但是呢,我想相相比较起来较麻烦一点,对要麻烦一点,不信你试一试对吧,你你你让我写的时候对吧,我感觉你说的很轻松啊,开个窗对吧,排个序,然后再对吧,然后再分个组对吧,你们你们说的时候这就很容易,但是你们。
18:01
在真做的时候,对吧,其实呢,还是比较麻烦的,那是比较麻烦的,对吧,那咱们现在呢,那我们呀,就来看一看对吧,就这个东西大概的思路啊,是这样的啊,大概思路这样,怎么看最后一笔呢?咱们可以通过我们现在这个公式,当前你处理的这条明细,它的数量乘以单价,如果等于原始总金额减去对吧,其他明细处理的数量和单价的话,那么这个时候说明是最后一笔。好了,那咱们整个呢,大概的分析是这样对吧,那接下来我稍微填一下啊。
我来说两句