00:00
再往下走呢,咱们来模拟点真实数据,同学们,比如说啊,我当前呢,在咱们这里边有两个我们的表,一个呢,是我们现在的这个是这个表叫什么来呢?叫order的INF inform的,比如说啊,当前有一个order info这个表,有一个呢,Order detail这个表在他order in里面呢,这有什么?有订单的ID对吧?那么除了订单ID之外呢,它有它的一个原价对吧?这个最终的一个一个金额,对最终金额,然后有什么呢?有它的一个我们的实付对吧?这个金额对吧?还有什么呢?还有它的一个优惠金额加运费呗,优惠金额加运费对吧?呃,然后接下来注意啊,比如说呢,在咱们这里边啊,在咱这里边我先加这几个啊,比如说我现在有一个订单对吧,这个呢订单一对吧,然后这订单一呢,那他多少钱呢,比如说我现在这里边,他实际啊,花了我们的100块钱。
01:00
实际呢,这个100块钱对吧?实际100块钱对吧?然后这块呢,其实我可以不要啊对吧,这个其实我可以不要对吧,这个可以不要对吧?然后接下来那么咱们现在呢,也是你最终你付的钱呢,是100对吧,然后接下来在咱们这里边呢,有一个order detail这张表,那这里有什么呢?这里有我们的ID对吧?然后呢,除了ID之外,注意啊,它是不是还有订单ID啊,Order ID吧,是不是应该他得有订单的ID啊对吧?那么除了订单ID之外呢,那还有什么呢?那咱们来看一看同学们,那我现在呢,在咱们这里啊,在我们这个order detail中对吧,Order detail里边它的设计表的时候,对吧,除了我ID之外,还有我订单ID对吧?那么除了订单ID之外呢,那这里还有什么它的价钱,还有它的一个数量,是不是,那来我现在呢,把这个加上这个呢,比如说还有一个我们的价钱啊,这。
02:00
是order price,然后这个呢,是我的SQ number number,然后接下来对吧,那我现在呢,把这个也给他写一下啊,也写一下啊,也写一下对吧?那比如说这个呢,是100对吧,200300,那么他们订单ID都是谁呢?都是幺啊,都是幺,都是幺,然后接下来他们的一个价钱是甚至多少呢?比如说都是我们这30对吧,都是咱们现在的这个30块钱啊,都是30块钱,然后接下来这个呢,也是对吧,就是我们这30块钱对吧,然后接下来在咱们这里边同学们这个数量都是一对吧,这个数量呢是一对吧,这个数量呢是一对吧,然后接下来我在这儿呢,我可以再推断出一个内容来,就是什么呢?就是它对吧,大家觉得这个东西它多少钱,就是我现在啊,这这这这个应该多少钱,应该90块钱吧,对吧,在这里应该是90块钱对吧,就目前假如说啊,我现在在咱们数据库。
03:01
就这两张表,一个是order in inform,然后呢,一个order detail,那么这两张表这个数据之间的关系大家能不能弄明白啊,能不能弄明白可以吧,就是我现在这里是不是有一个订单,这个订单的ID1,然后呢,这个实际花了100块钱,然后呢,其实总价90,那说明十块钱的运费呗,对吧,这个就省略了对吧?然后接下来呢,在咱订单明细里边呢,这有三个订单明细,就当前你的订单里边呢,其实有三个订单项,对吧?那么都属于谁,都属于咱们订单一,对吧,都是订单一,然后他们的价钱30%,咱的数量呢,都是一个,对吧?然后接下来咱们干什么了?咱们是不是就能做一个中文对吧?就做一个中文,大家想一想,咱们这个join文之后呢,那么形成了什么?形成的应该是我们这个order wide啊,形成一个订单的一个宽表啊,Order right,形成订单宽表,那么形成订单宽表之后呢,大家想一想,那么咱们现在呢,这两张表,它们两个怎么样去关联,咱们是不是叫join?
04:01
来进行关联的呀,那么如果进正文关联的话,那么他会用这两张表中完全匹配的数据啊,就查询出来了,比如说我现在啊,其实在去两种关联的时候,它呢,会有咱们当前表的数据和我这张表数据依次进行匹配,然后把全部匹配的完全匹配的记录给他查询出来,那意味着什么呢?意味着我现在啊这里边。我其实呢,可以把这些数据给我拿过来,对吧,把这数据拿过来,那么同时呢,除了他之外,咱们其实这里还有我现在这个数据,他也可以拿到,对吧,就是现在我当前呢,在里边这个数据呢,其实我也可以拿到。那么咱们现在呢,这个数据啊,这个是我们的100啊,这个呢是我们的90啊,就目前咱们现在照应之后啊,照应之后对吧,它的一个关系。来,那么咱现在呢,应该可以把这个东西呢给我拿到,那我现在求什么呢?对吧,那我现在求啊,那它这里面应该再来一个什么呢?再来一个实际分摊金额对吧?你原始金额是30,但是呢,你分摊完之后,你当前这条记录它的一个实物分摊金额是多少短就在这啊我其实呢,还要再去求一个东西,对吧,求什么呢?在这里对吧,我现在求的这一个分摊金额对吧,我现在想去求咱们这个分摊金额,对是多少,这是我现在想去取的东西,对,但是现在取不出来,那么怎么取呢?咱们说我是不是有两种算法呀,对吧,两种算法,那么这两种算法根据什么来判断呢?是不是这样的,如果说咱们现在是我们那个最后一单,对吧,如果说咱们现在啊,是我们最后的一条明细吧,最后一条明细的最后一条明细,对吧,那么这个时候,那么你使用什么样的一个方式,是不是做减法呀。
05:57
对吧,这个时候呢,做我们这个减法对吧,做减法,那么否则的话,如果不是最后一条对吧,如果不是最后一条,那么这时候呢,也做的是我们这个对吧,乘除法对吧,哎,那么咱们就减法怎么来做呢?对吧?那么这里我们现在呢要拿到了对吧,Final对吧,然后接下来咱们最终求的东西看一看啊,在这里我最终呢要求的。
06:27
实付分摊金额,比如说叫final SP对吧,然后呢,咱们现在amount对吧,比如说我现在求这个对吧,那么它等于什么呢?它应该等于对吧,那么咱们是最后一条,是不是应该等于我们刚才这里计算的哪个哪个哪个去减。谁去减?是不是应该是这个对吧,不要看地百同学们,你现在对这里边这个东西,你要你要明白谁是不是咱们最终付的钱呀,对吧,他应该最终付的钱,然后去减去谁呢?咱们是不是咱们当前这里边它的一个商品的数量,它的一个累加值啊,对吧,比如说啊,我现在在咱们这里边对吧,那么第一个商品和数量对吧,这个呢,它的一个我们这个累加对吧,然后这块呢,也是商品数量累加,然后这这个也是对吧,商品数累加,那么这个时候呢,咱们要想去对吧,我们这个去计算最后一个的话,那么这个时候呢,咱们想一想,他是不是得把已经计算过的这个分摊,是不是又我打过来对吧,那也就是说我现在呢,如果是最后一条,那我应该用我实际对吧,他的钱,然后减去什么呢?减去已经计算完的对吧,已经计算完成的是这个明细,它的一个实付分摊金额啊,分摊金额它做一个累加啊,累加西格码。
07:51
对吧,来求值,是不是求个和啊,这个能理解吗?同学们,就是我现在要想去咱们这是最后一条,最后一条的话,大家想一想,假如说它是最后一条对吧,那这个时候咱们现在呢,这东西应该怎么来算,也不应该用什么,你不应该用咱们这个100对吧,去乘了等因为乘的话,你想一想,咱们现在这里边它的一个原原始总价金额是90,然后咱们现在每一个是不是占1/3啊,占的比例,那如果说一百一乘的话,咱们现在这里边应该33.33333对吧,那最后一条那肯定不合适,那怎么办呢?是不是应该是咱们用原始的对吧?咱们现在100减去谁呢?减去已经算完的这两个33.33对吧?它俩累积和,那应该66.66呗,对吧,然后它一相减,是不是得到咱们现在对吧,33.34对吧,得到一个这样的值对吧,这是最后一条,那如果不是最后一条了。
08:45
对吧,如果不是最后一条,那这块对吧,那它应该等于什么乘除呗,对吧,那么乘除的话,这个东西咱们应该怎么来算,说乘以比例呀,对吧,这比例呢,怎么来呢?然后接下来乘以谁,然后咱现在呢,这个是我们这个对吧,然后接来再乘以一个什么,再乘以一个我们现在它的一个SPU的number,然后接下来再除以一个,对original total是不是咱们现在来看一看,当前这个记录占咱们原来记录这个比例呀,对吧,同学们到目前为止这块能跟上吗?
09:24
能不能跟上?对,先别写代码,同学们把这个给我弄出来,咱们把这个一复制,一翻译,代码就出来了。对吧,把这个L到时候把这个东西设出一条换成代码,咱们这个程序就能运行了,对吧?来稍微休息一会。
我来说两句