从不同的表和计算比率的Mysql和值可以计算出比例的增长率

时间:2017-09-03 06:49:03

标签: mysql

我的问题有点复杂。我有两个表,表A和表B

  Table A Structure
  ItemCode   Amount         DatebyDay
  01         500           20170814
  ...
  01         500           20170818
  01         1000           20170821
  ...
  01         1000           20170825
  ...

  Table B Structure
  FieldCode   Amount         DatebyDay
  fda        10000          20170814
  ...
  fda        10000          20170818
  fda        10000          20170821
  ...
  fda        10000          20170825
  fdb        10000          20170814
  ...
  fdb        10000          20170818
  fdb        10000          20170821
  ...
  fdb        10000          20170825
  ...

我想要SQL可以:

  1. 按周计算tableA中每件商品的金额。

  2. 按周计算tableB中fda和fdb的总和。

  3. 将Step1值除以Step2值以计算同一周的比率

  4. 例如。

      sum(tableA.01AmountOfWk34)
    / (sum(tableB.fdaAmountOfWk34) + sum(tableB.fdbAmountOfWk34)). 
    
    1. 将从step3获得的值除以与上周相同的结果。
    2. 我想评估增长率。

      我的预期结果:

         WeekNum  ItemId  DividedResult                Times
         33         01     0.05  #(500*5)/(10000*5)      ..
         34         01     0.1   #(1000*5)/(10000*5)     2  # (0.1/0.05)
         34         02     ...                      
         34         03     ...
         35
      

      我得到了帮助并写了一个sql可以完成前3个步骤而不是如何完成Step4。

       SELECT Year(a.datebyday), WEEK(a.datebyday), a.itemcode,SUM(a.amount),SUM(b.amount),SUM(a.amount)/SUM(b.amount) FROM a INNER JOIN b ON b.code in ('fda','fdb') AND a.datebyday=b.datebyday GROUP BY Year(a.datebyday), WEEK(a.datebyday), a.itemcode;
      

      谢谢!

0 个答案:

没有答案